虚拟环境下使用tox设置PYTHONPATH

5

我有一个tox.ini文件

[testenv:py27]
deps= -r{toxinidir}/requirements.txt
setenv =
    PYTHONPATH = {toxinidir}{:}{toxinidir}/helpers

我运行了tox命令,虚拟环境被创建在.tox/py27目录下。

当我激活py27环境时

cd .tox/py7/bin
source activate 
py27 $ echo $PYTHONPATH < gives null>

PYTHONPATH是空的,尽管tox.ini中设置了setenv并明确设置了PYTHONPATH

为什么PYTHONPATH会自动设置为空?

1个回答

3
你是否期望tox修改activate脚本,就像这里所描述的那样?

If you want to change the PYTHONPATH used in a virtualenv, you can add the following line to your virtualenv's bin/activate file:

export PYTHONPATH="/the/path/you/want"

This way, the new PYTHONPATH will be set each time you use this virtualenv.

如果是的话:tox 并不会执行类似的操作——它创建一个纯净的虚拟环境(或者如果安装了 tox-venv,则为 venv)。
因此,只有当您运行 tox 环境时(参见 code),setenv 中定义的内容才会发生作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接