如何使用 tox 添加到 $PATH?

How can I add to $PATH with tox?

我正在使用 tox 进行 运行 量角器测试,它将测试使用 django+angularjs 的应用程序,有一个胶水库 (django-protractor) 使这更容易,除了它在 django 管理命令中调用量角器,并依赖 $PATH 来显示量角器所在的位置。

因此,如果我在 运行ning tox 之前正确设置 $PATH,它工作正常,但我不想要求所有开发人员手动执行此操作。

我认为如果您在 manage.py 文件中修改您的路径以包含 django-protractor 目录应该可以,因为 Django 管理命令行使用 manage.py.

要使用环境变量,tox 提供语法 {env:VARIABLE}。要设置它们,tox 提供了 setenv 部分。

这些可以一起使用来修改命令可以使用的PATH变量:

[testenv]
setenv =
  PATH = {env:PATH}{:}/path/to/protractor

commands = 
  echo {env:PATH}

另一种在某些情况下可能有效的选项是符号链接或将二进制文件下载到 PATH 的可写路径中,希望我们始终有一个可用的选项:虚拟环境的二进制文件夹,在 tox 中 {envbindir} .