在Requirements.txt中为Virtualenv指定Python版本

时间:2012-08-09 18:43:08

标签: python virtualenv pip

我正在使用virtualenv与团队一起开发django应用程序。我们部署的服务器正在运行python 2.6,但我们机器的默认值是2.7.3。有没有办法在requirements.txt文件中指定python版本,或类似的东西,在代码库中?

我知道requirements.txt是一个小小的东西,python版本是一个很有用的东西,但是不必告诉每个加入团队的新人如何设置他们的虚拟现实。

4 个答案:

答案 0 :(得分:5)

pip和virtualenv都没有安装python(尽管pip tries)。他们使用您指定的任何内容。

您可以编写自述文件,提及所需的Python版本或提供可以部署到localhost并在那里指定版本的fabric脚本。例如,instructions to install virtualenv, pip, distribute

对于那些没有阅读说明的人,可能会有一个CI系统(jenkinsbuildbot)可以使用支持的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