Tox virtualenv 混乱
Tox virtualenv confusion
刚开始使用 tox 测试带有 Python 2.7 和 3.4 的库。使用以下 tox.ini
文件后,我有两个问题:
[tox]
envlist = {py27,py3}
sitepackages = True
[testenv]
deps= -rrequirements.txt
commands = nosetests -w tests/ --with-coverage --cover-erase --cover-package=pyppa --with-xunit --xunit-file={toxinidir}/build/ppa-python-sdk_{envname}_unit_tests.xml
coverage xml -o {toxinidir}/build/{envname}_coverage.xml
在 运行 tox
之后我有以下问题:
- 该项目依赖于
numpy
和 scipy
,它们都安装在我的全局环境中,我认为在 tox.ini
文件中使用 sitepackages = True
可以防止 tox在 virutalenvironment 中安装这些并强制它使用全局环境中的那些,但是 tox 在 2.7 和 3 的 .tox/
虚拟环境中安装了最新版本。我是否误解了 sitepackages
指令?
- 查看虚拟环境目录中
.tox/
目录的下方,我看到以下(缩写)结构:
.
.tox/
py27/
include/
python2.7/
lib
python2.7/
...
py3/
include/
python2.7/
lib
python2.7/
...
我向你保证这不是错字。在py3虚拟环境include
和lib
子目录下有名为python2.7
的目录,这些是include
和lib
中唯一的子目录。一切似乎都正常,但我很好奇为什么这些目录以这种方式命名。有人可以解释一下吗?
谢谢。
1) sitepackages
不是全局 Tox 设置。这是一个环境设置,所以把它放在 [testenv]
.
下
2) py3
不是 a predefined variant。请改用 py34
。
刚开始使用 tox 测试带有 Python 2.7 和 3.4 的库。使用以下 tox.ini
文件后,我有两个问题:
[tox]
envlist = {py27,py3}
sitepackages = True
[testenv]
deps= -rrequirements.txt
commands = nosetests -w tests/ --with-coverage --cover-erase --cover-package=pyppa --with-xunit --xunit-file={toxinidir}/build/ppa-python-sdk_{envname}_unit_tests.xml
coverage xml -o {toxinidir}/build/{envname}_coverage.xml
在 运行 tox
之后我有以下问题:
- 该项目依赖于
numpy
和scipy
,它们都安装在我的全局环境中,我认为在tox.ini
文件中使用sitepackages = True
可以防止 tox在 virutalenvironment 中安装这些并强制它使用全局环境中的那些,但是 tox 在 2.7 和 3 的.tox/
虚拟环境中安装了最新版本。我是否误解了sitepackages
指令? - 查看虚拟环境目录中
.tox/
目录的下方,我看到以下(缩写)结构:
.
.tox/
py27/
include/
python2.7/
lib
python2.7/
...
py3/
include/
python2.7/
lib
python2.7/
...
我向你保证这不是错字。在py3虚拟环境include
和lib
子目录下有名为python2.7
的目录,这些是include
和lib
中唯一的子目录。一切似乎都正常,但我很好奇为什么这些目录以这种方式命名。有人可以解释一下吗?
谢谢。
1) sitepackages
不是全局 Tox 设置。这是一个环境设置,所以把它放在 [testenv]
.
2) py3
不是 a predefined variant。请改用 py34
。