Skip to content

Commit

Permalink
Split requirements files into tools and libraries
Browse files Browse the repository at this point in the history
Allows installing/upgrading tools required for installing dependencies
before dependencies are installed.
  • Loading branch information
springermac committed Mar 29, 2016
1 parent 6f52061 commit 168b199
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 62 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Expand Up @@ -72,6 +72,7 @@ install:
# piping output through another program (if output is not a tty, no
# progress bars)
- pip install pip-accel | cat
- pip-accel install -r tests/requirements-tools.txt | cat
- pip-accel install -r tests/requirements.txt | cat

script:
Expand Down
1 change: 1 addition & 0 deletions appveyor.yml
Expand Up @@ -114,6 +114,7 @@ install:
- "%CMD_IN_ENV% pip-accel install -i https://pypi.anaconda.org/giumas/simple lxml"

# Install the PyInstaller test dependencies.
- "%CMD_IN_ENV% pip-accel install --disable-pip-version-check --timeout 5 --retries 2 -r tests/requirements-tools.txt"
- "%CMD_IN_ENV% pip-accel install --disable-pip-version-check --timeout 5 --retries 2 -r tests/requirements-win.txt"

# Install PyInstaller into virtualenv.
Expand Down
35 changes: 35 additions & 0 deletions tests/requirements-libraries.txt
@@ -0,0 +1,35 @@
# Test libraries
# Url for downloading PyCrypto prebuilt Windows binaries:
# http://www.voidspace.org.uk/python/pycrypto-2.6.1/
pycrypto # Required for crypto feature - encrypting bytecode.
Django<1.8.11 # PyInstaller doesn't yet work with Django 1.9
babel>2.0 # Required by sphinx. Version 2.0 doesn't work on Windows.
boto
boto3
botocore
cherrypy
gevent
pygments
pylint>=1.5
markdown
simplejson # simplejson is used for text_c_extension
sphinx
pyzmq
zope.interface # Required for test_namespace_package
numpy
lxml
keyring
pycparser
pytz
sqlalchemy
twisted
pyexcelerate
Pillow

# dateutil.tz is a package in 2.5.0 and does not play nice with PyInstaller.
python-dateutil>2.5.0
pandas

# matplotlib 1.5+ does not provide binaries for python 3.3
matplotlib ; python_version < '2.8' or python_version >= '3.4'
matplotlib==1.4.3 ; python_version >= '3.3' and python_version < '3.4'
2 changes: 1 addition & 1 deletion tests/requirements-mac.txt
@@ -1,5 +1,5 @@
# gevent wheels for mac os x cause pytest to crash on travis
--no-binary gevent
-r requirements.txt
-r requirements-libraries.txt

pyenchant
23 changes: 23 additions & 0 deletions tests/requirements-tools.txt
@@ -0,0 +1,23 @@
# Work-around for a bug in execnet 1.4.1
# :todo: remove this again, once a version of execnet fixing this is released
hg+https://htgoebel@bitbucket.org/htgoebel/execnet

# For running tests
pytest >= 2.7.3 # Testing framework.
pytest-xdist # Plugin allowing running tests in parallel.
pytest-timeout # Plugin to abort hanging tests.
pytest-catchlog # Capture log output separately from stdout/stderr
pytest-drop-dup-tests # allows specifying order without duplicates
pyreadline # Colors in ipython on Windows.
ipython # Better interactive Python shell.
mock

# Helper tools
zest.releaser # Makes releasing easier
wheel>0.24.0 # For creating .whl packages in Appveyour to avoid compiling again.
check-manifest # Checks MANIFEST.in
pyroma # Checks if package follows best practices of Python packaging.
chardet # character encoding detector.
readme # Check PYPI description.
twine # For secure upload of tar.gz to PYPI.
pycmd # Contains 'py.cleanup' that removes all .pyc files and similar.
2 changes: 1 addition & 1 deletion tests/requirements-win.txt
@@ -1,5 +1,5 @@
# Include some common dependencies for tests.
-r requirements.txt
-r requirements-libraries.txt

pypiwin32 # This package is a pip-installable version of PyWin32.
pyenchant
Expand Down
61 changes: 1 addition & 60 deletions tests/requirements.txt
@@ -1,60 +1 @@
# Work-around for a bug in execnet 1.4.1
# :todo: remove this again, once a version of execnet fixing this is released
hg+https://htgoebel@bitbucket.org/htgoebel/execnet

# For running tests
pytest >= 2.7.3 # Testing framework.
pytest-xdist # Plugin allowing running tests in parallel.
pytest-timeout # Plugin to abort hanging tests.
pytest-catchlog # Capture log output separately from stdout/stderr
pytest-drop-dup-tests # allows specifying order without duplicates
pyreadline # Colors in ipython on Windows.
ipython # Better interactive Python shell.
mock

# Helper tools
zest.releaser # Makes releasing easier
wheel>0.24.0 # For creating .whl packages in Appveyour to avoid compiling again.
check-manifest # Checks MANIFEST.in
pyroma # Checks if package follows best practices of Python packaging.
chardet # character encoding detector.
readme # Check PYPI description.
twine # For secure upload of tar.gz to PYPI.
pycmd # Contains 'py.cleanup' that removes all .pyc files and similar.


# Test libraries
# Url for downloading PyCrypto prebuilt Windows binaries:
# http://www.voidspace.org.uk/python/pycrypto-2.6.1/
pycrypto # Required for crypto feature - encrypting bytecode.
Django<1.8.11 # PyInstaller doesn't yet work with Django 1.9
babel>2.0 # Required by sphinx. Version 2.0 doesn't work on Windows.
boto
boto3
botocore
cherrypy
gevent
pygments
pylint>=1.5
markdown
simplejson # simplejson is used for text_c_extension
sphinx
pyzmq
zope.interface # Required for test_namespace_package
numpy
lxml
keyring
pycparser
pytz
sqlalchemy
twisted
pyexcelerate
Pillow

# dateutil.tz is a package in 2.5.0 and does not play nice with PyInstaller.
python-dateutil>2.5.0
pandas

# matplotlib 1.5+ does not provide binaries for python 3.3
matplotlib ; python_version < '2.8' or python_version >= '3.4'
matplotlib==1.4.3 ; python_version >= '3.3' and python_version < '3.4'
-r requirements-libraries.txt

0 comments on commit 168b199

Please sign in to comment.