CenterForOpenScience / osf.io

Facilitating Open Science
https://osf.io
Apache License 2.0
677 stars 331 forks source link

onboard @whit537 #4762

Closed chadwhitacre closed 8 years ago

chadwhitacre commented 8 years ago

May I? :-)

chadwhitacre commented 8 years ago

Okay! cc: @samanehsan

chadwhitacre commented 8 years ago

I've got the osf.io repo forked and my fork is cloned locally.

chadwhitacre commented 8 years ago

I'm reading through these installation docs:

I thought I would make a little PR just to get used to the PR flow and find an early win. Here are the PR docs I'm going through:

chadwhitacre commented 8 years ago

Even though this PR I'm preparing is tiny and probably doesn't need a test, I'd like to get the test suite passing locally before submitting it. Per the PR docs, I'm looking here for testing instructions:

http://cosdev.readthedocs.org/en/latest/process/testing.html#testing

chadwhitacre commented 8 years ago

It looks like there isn't one preferred test runner. I'm trying out py.test.

chadwhitacre commented 8 years ago

I'm not finding what version of Python OSF requires. I'm looking at http://cosdev.readthedocs.org/en/latest/osf/setup.html#installing-python.

chadwhitacre commented 8 years ago

I also looked for a setup.py to check the trove classifiers: nada.

chadwhitacre commented 8 years ago

(setup.cfg is unhelpful in this regard.)

chadwhitacre commented 8 years ago

I see print() without a __future__ import in tasks.py.

chadwhitacre commented 8 years ago

It looks like there isn't one preferred test runner.

Actually, it looks like nosetests is preferred. What's rednose?

sloria commented 8 years ago

You can run tests with invoke test, which just runs nosetests. However, feel free to use py.test if you are more comfortable with that; our tests are compatible with it (it's what I prefer use to run tests in isolation).

OSF requires python 2.7.x.

BTW, documentation PRs are always welcome =).

chadwhitacre commented 8 years ago

Thanks @sloria. :-)

rednose is a nosetests plugin for adding colour (and readability) to nosetest console results.

https://pypi.python.org/pypi/rednose

Nice! cf. https://pypi.python.org/pypi/snot :-)

chadwhitacre commented 8 years ago

Python 2.7 is doc'd at https://github.com/CenterForOpenScience/osf.io#mac-os.

chadwhitacre commented 8 years ago

And invoke test is doc'd at https://github.com/CenterForOpenScience/osf.io#running-tests. Looks like there's some truth-source bifurcation between the README and COSDev.

chadwhitacre commented 8 years ago

I've got a virtualenv with nose+rednose (I was having trouble with py.test but I was also using an old virtualenv from a while ago when I first cloned osf.io). Current status:

screen shot 2015-12-16 at 2 46 12 pm

chadwhitacre commented 8 years ago

I actually have yet to install Homebrew, and I'm going to attempt to preserve my ignorance of the bliss of brew for a little while longer ...

chadwhitacre commented 8 years ago
[osf.io]$ invoke requirements --dev --addons
chadwhitacre commented 8 years ago

Might come back to haunt me later:

    --------------------------------------------------------------------
    PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.4.0
    platform     darwin 2.7.9 (default, Jan  4 2015, 20:46:16)
                 [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)]
    --------------------------------------------------------------------
    --- TKINTER support available
    --- JPEG support available
    *** OPENJPEG (JPEG2000) support not available
    --- ZLIB (PNG/ZIP) support available
    *** LIBTIFF support not available
    *** FREETYPE2 support not available
    *** LITTLECMS2 support not available
    *** WEBP support not available
    *** WEBPMUX support not available
    --------------------------------------------------------------------
chadwhitacre commented 8 years ago

Status:

screen shot 2015-12-16 at 2 53 41 pm

chadwhitacre commented 8 years ago

I'm glad to see that our dependencies are pinned. :-)

https://github.com/CenterForOpenScience/osf.io/blob/15d15ba1f402f4b53a60e5b5ac4e504fd1cd6115/requirements.txt https://github.com/CenterForOpenScience/osf.io/blob/15d15ba1f402f4b53a60e5b5ac4e504fd1cd6115/requirements/dev.txt

!m *

chadwhitacre commented 8 years ago

Chuggin' along ...

screen shot 2015-12-16 at 2 56 09 pm

chadwhitacre commented 8 years ago
Successfully installed invoke Werkzeug Flask Mako Markdown Pygments WTForms beautifulsoup4 celery httplib2 hurry.filesize itsdangerous lxml mailchimp nameparser py-bcrypt pymongo python-gnupg pytz bleach html5lib blinker furl elasticsearch google-api-python-client python-crontab Babel requests urllib3 requests-oauthlib raven webcolors Django djangorestframework django-rest-swagger factory-boy webtest-plus mock fake-factory flake8 livereload progressbar watchdog modular-odm httpretty Jinja2 MarkupSafe billiard kombu setuptools docopt orderedmultidict oauthlib PyYAML webtest pyflakes pep8 mccabe tornado argh pathtools anyjson amqp WebOb waitress backports.ssl-match-hostname singledispatch certifi backports-abc
Cleaning up...
[osf.io]$

Blam?

chadwhitacre commented 8 years ago
[osf.io]$ invoke encryption
GnuPG is not enabled. No GnuPG key will be generated.

How important can that be? <:-)

/me forges ahead, to his certain detriment ...

chadwhitacre commented 8 years ago

I've got node 4.1.1 and npm 2.14.4 installed. I'm not sure what version(s) OSF expects. I've never used bower before ...

chadwhitacre commented 8 years ago

Looks like npm i installed bower:


bower@1.7.1 node_modules/bower
└── semver-utils@1.1.1
[osf.io]$ 
chadwhitacre commented 8 years ago

bower install?

chadwhitacre commented 8 years ago

Huzzah? :)

[osf.io]$ ./node_modules/.bin/bower install
? May bower anonymously report usage statistics to improve the tool over time? (Y/n)
chadwhitacre commented 8 years ago

Truckin' ...

screen shot 2015-12-16 at 3 05 24 pm

chadwhitacre commented 8 years ago

It looks like invoke assets --dev is reinstalling npm install and bower install. :-/

chadwhitacre commented 8 years ago

Warnings and errors!

screen shot 2015-12-16 at 3 09 15 pm

 [440] ./website/static/js/wikiMenu.js 3.43 kB {49} [built]
    + 339 hidden modules

WARNING in ./~/knockout/build/output/knockout-latest.debug.js
Critical dependencies:
22:24-31 require function is used in a way in which dependencies cannot be statically extracted
 @ ./~/knockout/build/output/knockout-latest.debug.js 22:24-31

WARNING in ./~/knockout/build/output/knockout-latest.js
Critical dependencies:
7:222-229 require function is used in a way in which dependencies cannot be statically extracted
 @ ./~/knockout/build/output/knockout-latest.js 7:222-229

WARNING in ./~/markdown-it/dist/markdown-it.js
Critical dependencies:
1:564-571 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
 @ ./~/markdown-it/dist/markdown-it.js 1:564-571

WARNING in ./~/markdown-it-sanitizer/dist/markdown-it-sanitizer.js
Critical dependencies:
1:591-598 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
 @ ./~/markdown-it-sanitizer/dist/markdown-it-sanitizer.js 1:591-598

WARNING in ./website/addons/wiki/static/ace.js
Critical dependencies:
5:52-59 require function is used in a way in which dependencies cannot be statically extracted
 @ ./website/addons/wiki/static/ace.js 5:52-59

ERROR in ./website/static/js/logFeed.js
Module not found: Error: Cannot resolve module 'built/nodeCategories.json' in /Users/whit537/workbench/cos/osf.io/website/static/js
 @ ./website/static/js/logFeed.js 14:21-62

ERROR in ./website/static/js/projectorganizer.js
Module not found: Error: Cannot resolve module 'built/nodeCategories.json' in /Users/whit537/workbench/cos/osf.io/website/static/js
 @ ./website/static/js/projectorganizer.js 26:21-62

ERROR in ./website/static/js/projectCreator.js
Module not found: Error: Cannot resolve module 'built/nodeCategories.json' in /Users/whit537/workbench/cos/osf.io/website/static/js
 @ ./website/static/js/projectCreator.js 12:21-62
chadwhitacre commented 8 years ago

Indeed, there is no directory /Users/whit537/workbench/cos/osf.io/website/static/js/built.

chadwhitacre commented 8 years ago

/me starts mongod

chadwhitacre commented 8 years ago
[osf.io]$ invoke server
[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.005s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.001s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.001s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.001s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[framework.sentry]  WARNING: Sentry called to log exception, but is not active
[framework.sentry]  WARNING: Sentry called to log message, but is not active: The SEARCH_ENGINE setting is set to 'elastic', but there was a problem starting the elasticsearch interface. Is elasticsearch running?
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/bin/invoke", line 9, in <module>
    load_entry_point('invoke==0.9.0', 'console_scripts', 'invoke')()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 304, in main
    dispatch(sys.argv)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 297, in dispatch
    return executor.execute(*tasks, dedupe=dedupe)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 90, in execute
    task=task, name=name, args=args, kwargs=kwargs
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 131, in _execute
    result = task(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/tasks.py", line 111, in __call__
    result = self.body(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/tasks.py", line 47, in server
    app = init_app(set_backends=True, routes=True)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 111, in init_app
    init_addons(settings, routes)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 38, in init_addons
    addon = init_addon(app, addon_name, routes=routes)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/base/__init__.py", line 1102, in init_addon
    addon_module = importlib.import_module(import_path)
  File "/Users/whit537/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/__init__.py", line 3, in <module>
    from . import routes, views, model
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/routes.py", line 5, in <module>
    from website.addons.github import views
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/__init__.py", line 1, in <module>
    from . import auth, config, crud, hgrid, hooks, repos  # noqa
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/auth.py", line 18, in <module>
    from ..api import GitHub
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/api.py", line 4, in <module>
    import github3
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/__init__.py", line 20, in <module>
    from github3.api import *
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/api.py", line 11, in <module>
    from .github import GitHub, GitHubEnterprise
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/github.py", line 15, in <module>
    from github3.gists import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/__init__.py", line 16, in <module>
    from .gist import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/gist.py", line 14, in <module>
    from github3.gists.comment import GistComment
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/comment.py", line 12, in <module>
    from github3.users import User
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/users.py", line 12, in <module>
    from uritemplate import URITemplate
ImportError: cannot import name URITemplate
chadwhitacre commented 8 years ago

/me looks into elasticsearch ...

chadwhitacre commented 8 years ago

I tried turning off elasticsearch in website/settings/local.py (by setting SEARCH_ENGINE to None). No go.

Looks like we want version 1.2.1.

chadwhitacre commented 8 years ago

https://www.elastic.co/downloads/past-releases/elasticsearch-1-2-1

chadwhitacre commented 8 years ago

Easy as Mongo. :-)

screen shot 2015-12-16 at 3 17 57 pm

sloria commented 8 years ago

Ah, the URITemplate issue is nasty. Here's the fix (from https://cosdev.readthedocs.org/en/latest/osf/common_problems.html#error-when-importing-uritemplate)

pip uninstall uritemplate.py --yes
pip install uritemplate.py==0.3.0
chadwhitacre commented 8 years ago

The ImportError persists:

[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/bin/invoke", line 9, in <module>
    load_entry_point('invoke==0.9.0', 'console_scripts', 'invoke')()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 304, in main
    dispatch(sys.argv)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 297, in dispatch
    return executor.execute(*tasks, dedupe=dedupe)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 90, in execute
    task=task, name=name, args=args, kwargs=kwargs
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 131, in _execute
    result = task(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/tasks.py", line 111, in __call__
    result = self.body(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/tasks.py", line 47, in server
    app = init_app(set_backends=True, routes=True)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 111, in init_app
    init_addons(settings, routes)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 38, in init_addons
    addon = init_addon(app, addon_name, routes=routes)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/base/__init__.py", line 1102, in init_addon
    addon_module = importlib.import_module(import_path)
  File "/Users/whit537/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/__init__.py", line 3, in <module>
    from . import routes, views, model
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/routes.py", line 5, in <module>
    from website.addons.github import views
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/__init__.py", line 1, in <module>
    from . import auth, config, crud, hgrid, hooks, repos  # noqa
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/auth.py", line 18, in <module>
    from ..api import GitHub
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/api.py", line 4, in <module>
    import github3
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/__init__.py", line 20, in <module>
    from github3.api import *
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/api.py", line 11, in <module>
    from .github import GitHub, GitHubEnterprise
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/github.py", line 15, in <module>
    from github3.gists import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/__init__.py", line 16, in <module>
    from .gist import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/gist.py", line 14, in <module>
    from github3.gists.comment import GistComment
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/comment.py", line 12, in <module>
    from github3.users import User
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/users.py", line 12, in <module>
    from uritemplate import URITemplate
ImportError: cannot import name URITemplate
chadwhitacre commented 8 years ago

Ah, the URITemplate issue is nasty.

Interesting. Thanks for the pointer, @sloria! :-)

chadwhitacre commented 8 years ago

@sloria Does it makes sense to add uritemplate to requirements.txt?

chadwhitacre commented 8 years ago

Interesting that 0.3.0 is already the version installed, though ...

[osf.io]$ pip list |grep uritemplate
uritemplate.py (0.3.0)
sloria commented 8 years ago

@whit537 It's complicated. We actually want uritemplate.py, but it conflicts with another uritemplate package.

https://github.com/sigmavirus24/uritemplate/issues/14

chadwhitacre commented 8 years ago

Copy that, gold leader. :hurtrealbad:

chadwhitacre commented 8 years ago

Still, would being explicit about uritemplate.py in requirements.txt allow us to control the install order?

chadwhitacre commented 8 years ago

Blam?

[osf.io]$ invoke server
[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
[website.addons.github.settings]  WARNING: No local.py settings file found
[website.addons.osfstorage.settings]  WARNING: No local.py settings file found
[website.addons.wiki.settings]  WARNING: No local.py settings file found
[root]  DEBUG: Setting storage backends
[root]  INFO: Sentry disabled; Flask's debug mode enabled
[werkzeug]  INFO:  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
[werkzeug]  INFO:  * Restarting with fsevents reloader
[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
[website.addons.github.settings]  WARNING: No local.py settings file found
[website.addons.osfstorage.settings]  WARNING: No local.py settings file found
[website.addons.wiki.settings]  WARNING: No local.py settings file found
[root]  DEBUG: Setting storage backends
[root]  INFO: Sentry disabled; Flask's debug mode enabled
chadwhitacre commented 8 years ago

Blam! :-)

Looks like it's time for TokuMX ...

screen shot 2015-12-16 at 3 25 39 pm

chadwhitacre commented 8 years ago

Not finding a version specified for TokuMX ...

sloria commented 8 years ago

Still, would being explicit about uritemplate.py in requirements.txt allow us to control the install order?

Probably. I want to say we've tried that before to no avail...but I can't be sure.

chadwhitacre commented 8 years ago

/me goes for tokumx-enterprise-2.0.2 ...