我正在使用 virtualenv 与团队一起开发 django 应用程序。我们部署的服务器正在运行 python 2.6,但我们机器的默认值是 2.7.3。有没有办法在代码库中的 requirements.txt 文件或类似的文件中指定 python 版本?
我知道 requirements.txt 是 pip 的东西,python 版本是 virtualenv 的东西,但是不必告诉每个加入团队的新人如何设置他们的 virtualenv 真的很方便。
我正在使用 virtualenv 与团队一起开发 django 应用程序。我们部署的服务器正在运行 python 2.6,但我们机器的默认值是 2.7.3。有没有办法在代码库中的 requirements.txt 文件或类似的文件中指定 python 版本?
我知道 requirements.txt 是 pip 的东西,python 版本是 virtualenv 的东西,但是不必告诉每个加入团队的新人如何设置他们的 virtualenv 真的很方便。
不必告诉每个加入团队的新人如何设置他们的 virtualenv 真的很方便
只需将其添加到您在加入时为新成员提供的正常说明中即可;当您告诉他们有关内部文档 wiki、wifi 的密码和三明治送货店的电话号码时,就在同一个地方。
不必告诉人们并让他们自己弄清楚是非常不方便的;他们第一次提交的东西collections.Counter
只是为了发现它破坏了构建,因为服务器没有 2.7.x
你不能把它放进去requirements.txt
,但你可以在脚本的顶部添加这个代码:
import sys
if sys.version_info[0:2] != (2, 6):
raise Exception('Requires python 2.6')
根据您的评论,这里唯一的问题应该是确保没有仅 2.7 的代码进入您的代码库。为此,我建议使用tox
,并将其配置为创建一个2.6
测试环境,这样当您的同事运行您的测试套件时,测试就会在2.6
虚拟环境中运行。
您还可以通过以下命令指定默认 Python:
sudo update-alternatives --set python /usr/bin/python3.7