python-2.7 - 在 python Tox ini 文件中使用源时出错

标签 python-2.7 automated-tests conda tox

我正在努力让 Tox 和 Conda 一起玩得很好。主要是因为我有很多需要安装的非 python 依赖项,而且创建 Conda 发行版很容易。然后我可以用一个简单的 conda install 安装所有东西.

但是,我在激活 conda 环境时遇到了问题。

[tox]
envlist = py27

[testenv]
whitelist_externals =
    conda
    source
    py.test
setenv =
    PYTHONPATH = {toxinidir}:{toxinidir}/damlarces
install_command =
    python build_env.py --conda-env {toxworkdir}/conda {packages}
commands =
    source activate {toxworkdir}/conda
    py.test --basetemp={envtmpdir}
python build_env.py --conda-env {toxworkdir}/conda {packages}负责创建环境(如果需要)、安装包等。问题出在 source activate {toxworkdir}/conda线。我收到了 ERROR: InvocationError: could not find executable 'source'错误。直接在命令行中键入命令可以正常工作。

对于那些有兴趣的人。 build_env.py在这个要点中:https://gist.github.com/JudoWill/70450979353fa2d12823 ... 目前它只是安装 Python 依赖项,但在其预期环境中,它将安装不一定是 Python 库的 Conda 存储库。
有什么想法吗?

最佳答案

source不是命令。这是一个内置的shell。 source script.sh原因 script.sh在当前 shell 中运行。这对于 activate 来说是必要的,因为它修改了 PATH,并且您希望这些修改影响 shell 本身(通常,当您运行脚本时,它会在子 shell 中运行,该子shell 有自己的环境,不会影响调用 shell 的环境)。

不知道 tox 是否支持在命令中设置环境变量。如果是这样,你可以使用

export PATH={toxworkdir}/conda/bin:$PATH

否则,只需使用所有命令的绝对路径,例如
{toxworkdir}/conda/bin/py.test --basetemp={envtmpdir}

关于python-2.7 - 在 python Tox ini 文件中使用源时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24832693/

相关文章:

mysql - Dejavu - Python 中的音频指纹识别

Python JIRA 客户端返回 401 错误

javascript - 用 RequestHook 覆盖浏览器语言

python - 在 Linux 中使用 python 正则表达式未检测到表情符号

python - 使用 Conda 和 Tox 运行测试时出错

python - 无法使用 Conda 安装任何东西

python - 如何让 python 看起来像二进制数的补码?

python - Matplotlib:索引颜色图

c# - 访问网页时处理windows安全

testing - 如何根据逻辑表达式生成测试数据?