我正在使用virtualenv与团队一起开发django应用程序。我们部署的服务器正在运行python 2.6,但我们机器的默认值是2.7.3。有没有办法在requirements.txt文件中指定python版本,或类似的东西,在代码库中?
我知道requirements.txt是一个小小的东西,python版本是一个很有用的东西,但是不必告诉每个加入团队的新人如何设置他们的虚拟现实。
答案 0 :(得分:5)
pip和virtualenv都没有安装python(尽管pip tries)。他们使用您指定的任何内容。
您可以编写自述文件,提及所需的Python版本或提供可以部署到localhost并在那里指定版本的fabric脚本。例如,instructions to install virtualenv, pip, distribute。
对于那些没有阅读说明的人,可能会有一个CI系统(jenkins,buildbot)可以使用支持的python版本(提交之前/之后)运行单元测试。
要管理多个python安装,您可以使用类似pythonz的内容。
答案 1 :(得分:2)
不必告诉每个新人真的很方便 加入团队如何建立他们的virtualenv
只需将其添加到您在加入时为新成员提供的正常指令集中;当你告诉他们内部文件维基,无线网络密码和三明治配送店的电话号码时,就在同一个地方。
非常不方便不必告诉别人并让他们自己弄明白;他们第一次提交使用collections.Counter
的东西时才发现它破坏了构建,因为服务器没有2.7.x
答案 2 :(得分:0)
根据你的评论,这里唯一的问题应该是确保没有2.7的代码进入你的代码库。为此,我建议使用tox
,并将其配置为创建一个2.6
环境进行测试,以便当您的同事运行您的测试套件时,测试在2.6
虚拟运行环境。
答案 3 :(得分:0)
您还可以通过以下命令指定默认的Python:
sudo update-alternatives --set python /usr/bin/python3.7