Conversation
This adds support for tox to create a virtual environment for all development. You can invoke it by making sure tox is installed: $ pip install tox Then running: $ tox from the local directory. Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
|
So my Python-fu is much weaker than yours, but doesn't this break the And nose will fail if the build directory doesn't exist. Please either get nose to not fail, or put it back :-) |
|
You'd use tox to handle the creation of eggs now: $ tox -evenv -- python setup.py install This way, you don't have any libraries on your local box. |
|
Normally I manage my own virtualenv's for avoid local installs. Tox looks cool, though. But it shouldn't break the setup.py.
Regardless, the egg doesn't have dependencies in it, which seems very wrong. $ git clean -xdff
$ tox -evenv -- python setup.py bdist_egg
# <snip/>
___________________________________ summary ____________________________________
venv: commands succeeded
congratulations :)
$ virtualenv tmp
New python executable in tmp/bin/python
# <snip/>
done.
$ . tmp/bin/activate
(tmp)$ easy_install dist/swaggerpy-0.0.1-py2.7.egg
Processing swaggerpy-0.0.1-py2.7.egg
Copying swaggerpy-0.0.1-py2.7.egg to /Users/dlee/prj/swagger/swagger-py/tmp/lib/python2.7/site-packages
Adding swaggerpy 0.0.1 to easy-install.pth file
Installing swagger-codegen script to /Users/dlee/prj/swagger/swagger-py/tmp/bin
Installed /Users/dlee/prj/swagger/swagger-py/tmp/lib/python2.7/site-packages/swaggerpy-0.0.1-py2.7.egg
Processing dependencies for swaggerpy==0.0.1
Finished processing dependencies for swaggerpy==0.0.1
(tmp)$ pip freeze
swaggerpy==0.0.1
wsgiref==0.1.2And tox fails due to missing {{./build}} directory. $ git clean -xdff
(tmp)[dlee@dlee-mac swagger-py (tox)]$ tox
GLOB sdist-make: /Users/dlee/prj/swagger/swagger-py/setup.py
py27 create: /Users/dlee/prj/swagger/swagger-py/.tox/py27
py27 installdeps: -r/Users/dlee/prj/swagger/swagger-py/requirements.txt, -r/Users/dlee/prj/swagger/swagger-py/test-requirements.txt
py27 inst: /Users/dlee/prj/swagger/swagger-py/.tox/dist/swaggerpy-0.0.1.zip
py27 runtests: commands[0] | nosetests
# <snip/>
IOError: [Errno 2] No such file or directory: 'build/nosetests.xml'
ERROR: InvocationError: '/Users/dlee/prj/swagger/swagger-py/.tox/py27/bin/nosetests' |
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
|
Nose is fixed. Also, here is the preferred way to handle dependencies in python these days: http://www.pip-installer.org/en/latest/cookbook.html |
|
I had the separate I still don't like not having meta-data in the package for dependencies. That page reads more like it's talking about managing application installation, not library dependencies. Tell you what:
setup_requires=['nose'],
tests_require=open('test-requirements.txt').readlines(),
install_requires=open('requirements.txt').readlines(),
I think that would cover the last of my complaints. Thanks! |
Where is a simple patch to enable tox support and use flake8. Flake8 is still not passing at 100%, mostly because I don't understand the application at this point.
Nice work BTW!