【发布时间】:2016-01-30 21:36:58
【问题描述】:
在 Ubuntu 系统上,我正在尝试使用 tox 和多个 python 版本测试 python 包。我尝试测试的 Python 版本之一是 64 位 Anaconda Python 2.7。在开始使用 Tox 进行测试之前,我首先需要让 virtualenv 与 Anaconda 一起使用,因为 Tox 在内部使用 virtualenv。
如你所见,我的 Anaconda 环境中已经安装了 virtualenv:
$ conda install virtualenv
Fetching package metadata: ....
Solving package specifications: ....................
# All requested packages already installed.
# packages in environment at /home/me/software/anaconda:
#
virtualenv 13.0.1 py27_0
但是,尝试创建虚拟环境失败:
$ mkvirtualenv test
New python executable in test/bin/python
Installing setuptools, pip...
Complete output from command /home/me/....envs/test/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/me/.local/lib/python2.7/site-packages/virtualenv_support/pip-1.5.6-py2.py3-none-any.whl/pip/__init__.py", line 9, in <module>
File "/home/me/.local/lib/python2.7/site-packages/virtualenv_support/pip-1.5.6-py2.py3-none-any.whl/pip/log.py", line 8, in <module>
File "/home/me/.local/lib/python2.7/site-packages/virtualenv_support/pip-1.5.6-py2.py3-none-any.whl/pip/backwardcompat/__init__.py", line 66, in <module>
File "/home/me/software/anaconda/lib/python2.7/urllib2.py", line 93, in <module>
import hashlib
File "/home/me/software/anaconda/lib/python2.7/hashlib.py", line 138, in <module>
_hashlib.openssl_md_meth_names)
AttributeError: 'module' object has no attribute 'openssl_md_meth_names'
----------------------------------------
...Installing setuptools, pip...done.
Traceback (most recent call last):
File "/home/me/software/anaconda/bin/virtualenv", line 6, in <module>
sys.exit(main())
File "/home/me/.local/lib/python2.7/site-packages/virtualenv.py", line 824, in main
symlink=options.symlink)
File "/home/me/.local/lib/python2.7/site-packages/virtualenv.py", line 992, in create_environment
install_wheel(to_install, py_executable, search_dirs)
File "/home/me/.local/lib/python2.7/site-packages/virtualenv.py", line 960, in install_wheel
'PIP_NO_INDEX': '1'
File "/home/me/.local/lib/python2.7/site-packages/virtualenv.py", line 902, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command /home/me/....envs/test/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1
如何让 virtualenv 与 Anaconda 一起工作?
【问题讨论】:
-
使用 virtualenv 代替 conda 环境有什么特别的好处吗?
-
@DilithiumMatrix,tox是自动生成
virtualenvs的自动测试工具。索取好处并没有真正的意义,因为你别无选择:) -
你必须首先使用anaconda吗?
标签: python virtualenv anaconda virtualenvwrapper tox