tox
和 virtualenv
适用于不同的用例并具有不同的工作流程。
tox
创建虚拟环境这一事实是一种实现细节。其目标是针对多个版本的 Python 解释器和/或项目依赖项的多个组合运行当前项目的测试套件。它的目标不是创建虚拟环境。另一方面,virtualenv
(甚至Python自己的venv
)唯一的目标是创建虚拟环境。
虽然可以使用
tox
作为创建 Python 虚拟环境的主要工具,但根据我的经验,使用 virtualenv
(或 venv
)更方便。
现在,如果目标是能够清楚地定义每个项目贡献者在自己的开发机器上都可以重现的虚拟环境列表,那么
tox
可能有一些优势,因为可以定义这些环境在 tox.ini
配置文件中,可以与所有贡献者共享。在这种情况下,人们还可以考虑以下工具,这些工具也有助于创建开发环境,并且实际上适用于此用例:
作为@sinoroc回答的后续:
您还可以使用
tox
通过以下命令创建开发环境:
tox devenv my-dev-env
其中
my-dev-env
是您选择的任意路径名,tox 将在其中创建虚拟环境。所以在这种情况下tox会在my-dev-env
目录中创建一个虚拟环境。
有关更多信息,请参阅 tox CLI 文档:https://tox.wiki/en/4.14.1/cli_interface.html#tox-devenv-(d)