diff --git a/README.rst b/README.rst index 77df3b33..a6018200 100644 --- a/README.rst +++ b/README.rst @@ -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]) @@ -94,6 +95,8 @@ def install_dependencies(venv=VENV): print 'Installing dependencies with pip (this can take a while)...' 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) 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 diff --git a/tox.ini b/tox.ini index ae9fd330..f87480aa 100644 --- a/tox.ini +++ b/tox.ini @@ -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