理解tox.ini中的非默认Python配置
我正在尝试了解更多有关配置tox.ini文件的详细信息。在和中,它们不是使用默认的python环境,而是在命令中定义新的环境:理解tox.ini中的非默认Python配置,python,tox,Python,Tox,我正在尝试了解更多有关配置tox.ini文件的详细信息。在和中,它们不是使用默认的python环境,而是在命令中定义新的环境: [testenv] basepython = py27: {env:TOXPYTHON:python2.7} py33: {env:TOXPYTHON:python3.3} 这样做有什么好处?另外,使用env:TOXPYTHON命令的命令实现了什么?我在tox文档中找不到它。这里要理解的主要概念是: 如果运行的环境包含冒号前面列出的某个因素,则此项有
[testenv]
basepython =
py27: {env:TOXPYTHON:python2.7}
py33: {env:TOXPYTHON:python3.3}
这样做有什么好处?另外,使用env:TOXPYTHON命令的命令实现了什么?我在tox文档中找不到它。这里要理解的主要概念是: 如果运行的环境包含冒号前面列出的某个因素,则此项有效 大括号中的元素将根据shell tox中设置的环境变量的状态被替换 把它放在一起,你的片段的意思是:
py27: {env:TOXPYTHON:python2.7}
如果因子py27
是tox环境名称的一部分(例如“py27 unittests”),则将环境变量TOXPYTHON的值或未设置环境变量的文字“python2.7”用作basepython
同样的原则也适用于包含系数py33
的环境
其优点是,作为开发人员,您可以根据需要设置TOXPYTHON环境变量,以防python2.7或python3.3不在您的路径中。这(我猜)是tox在不同的OSS和分布上发现解释器方面存在一些弱点的结果。请参阅:这里要理解的主要概念是: 如果运行的环境包含冒号前面列出的某个因素,则此项有效 大括号中的元素将根据shell tox中设置的环境变量的状态被替换 把它放在一起,你的片段的意思是:
py27: {env:TOXPYTHON:python2.7}
如果因子py27
是tox环境名称的一部分(例如“py27 unittests”),则将环境变量TOXPYTHON的值或未设置环境变量的文字“python2.7”用作basepython
同样的原则也适用于包含系数py33
的环境
其优点是,作为开发人员,您可以根据需要设置TOXPYTHON环境变量,以防python2.7或python3.3不在您的路径中。这(我猜)是tox在不同的OSS和分布上发现解释器方面存在一些弱点的结果。请参阅:
python2.7
或python3.3
是unix风格的名称。在w32上,python二进制文件通常命名为C:\Python27\python.exe
或C:\Python33\python.exe
。要创建在Linux和w32中同样有效的tox.ini
,可以用不同的方式定义TOXPYTHON
请参见我如何定义Python的示例。
python2.7
或python3.3
是unix样式的名称。在w32上,python二进制文件通常命名为C:\Python27\python.exe
或C:\Python33\python.exe
。要创建在Linux和w32中同样有效的tox.ini
,可以用不同的方式定义TOXPYTHON
有关详细信息,请参见我如何定义TOXPYTHON