diff options
author | IWASE Yusuke <iwase.yusuke0@gmail.com> | 2016-11-15 11:23:14 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2016-11-15 20:58:06 +0900 |
commit | 03f77e7279d3e7f4c0c581f32cb99322e65195a6 (patch) | |
tree | f546bce82233ad7d253ff323c84a7e974e0e694e | |
parent | 1af384fa17e58d52a5b1826fa3f2ce3a5b1b260a (diff) |
pip: Separate test-requires
Currently, in addition to "requirements for tests", test-requires
includes "optional requirements".
This makes it unclear to identify which packages are surely required
to use optional features (e.g., OF-Config, NETCONF, BGP speaker) and
causes the redundant installation when building Docker images.
This patch separates test-requires into two files("test requirements"
and "optional requirements").
Also, this patch reverts the version fixation for some packages.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | README.rst | 11 | ||||
-rw-r--r-- | tools/install_venv.py | 3 | ||||
-rw-r--r-- | tools/optional-requires | 4 | ||||
-rw-r--r-- | tools/test-requires | 5 | ||||
-rw-r--r-- | tox.ini | 1 |
5 files changed, 13 insertions, 11 deletions
@@ -35,16 +35,15 @@ Optional Requirements Some functionalities of ryu requires extra packages: -- OF-Config requires lxml +- OF-Config requires lxml and ncclient - NETCONF requires paramiko -- BGP speaker (ssh console) requires paramiko -- OVSDB support requires ovs (Note: python 3.4 requires ovs>=2.6.0.dev0) +- BGP speaker (SSH console) requires paramiko If you want to use the functionalities, please install requirements:: - % pip install lxml - % pip install paramiko - % pip install ovs + % pip install -r tools/optional-requires + +Please refer to tools/optional-requires for details. Support diff --git a/tools/install_venv.py b/tools/install_venv.py index 09b321bd..29639801 100644 --- a/tools/install_venv.py +++ b/tools/install_venv.py @@ -31,6 +31,7 @@ import sys ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) VENV = os.path.join(ROOT, '.venv') PIP_REQUIRES = os.path.join(ROOT, 'tools', 'pip-requires') +OPTIONAL_REQUIRES = os.path.join(ROOT, 'tools', 'optional-requires') TEST_REQUIRES = os.path.join(ROOT, 'tools', 'test-requires') PY_VERSION = "python%s.%s" % (sys.version_info[0], sys.version_info[1]) @@ -95,6 +96,8 @@ def install_dependencies(venv=VENV): run_command(['tools/with_venv.sh', 'pip', 'install', '-r', PIP_REQUIRES], redirect_output=False) run_command(['tools/with_venv.sh', 'pip', 'install', '-r', + OPTIONAL_REQUIRES], redirect_output=False) + run_command(['tools/with_venv.sh', 'pip', 'install', '-r', TEST_REQUIRES], redirect_output=False) # Tell the virtual env how to "import quantum" diff --git a/tools/optional-requires b/tools/optional-requires new file mode 100644 index 00000000..a17b1752 --- /dev/null +++ b/tools/optional-requires @@ -0,0 +1,4 @@ +lxml # OF-Config +ncclient # OF-Config +cryptography!=1.5.2 # Required by paramiko +paramiko # NETCONF, BGP speaker (SSH console) diff --git a/tools/test-requires b/tools/test-requires index 009adfc3..9d59a70c 100644 --- a/tools/test-requires +++ b/tools/test-requires @@ -4,8 +4,3 @@ nose pep8 pylint formencode -lxml; platform_python_implementation != 'PyPy' # OF-Config -lxml==3.4.0; platform_python_implementation == 'PyPy' -cryptography==1.5 -paramiko # NETCONF, BGP speaker -ncclient # OF-Config @@ -4,6 +4,7 @@ envlist = py27,py34,py35,pypy26,pep8 [testenv] deps = -U -r{toxinidir}/tools/pip-requires + -r{toxinidir}/tools/optional-requires -r{toxinidir}/tools/test-requires --no-cache-dir usedevelop = True |