我正在使用 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,那将非常方便。
requirements.txt
中,但你可以在脚本顶部添加这段代码:import sys
if sys.version_info[0:2] != (2, 6):
raise Exception('Requires python 2.6')
每次有新成员加入团队时都要告诉他们如何设置虚拟环境真的很麻烦。
将设置虚拟环境的步骤添加到你给新成员的常规指导中,就像在告诉他们内部文档wiki、wifi密码和三明治外卖店电话号码的同一位置。
如果不告诉人们如何设置虚拟环境并让他们自己解决,这将非常不方便;第一次提交使用collections.Counter
的代码时,发现由于服务器没有2.7.x版本而导致构建失败。
tox
}},并将其配置为创建一个2.6
环境进行测试,这样当您的同事运行您的测试套件时,测试将在2.6
虚拟环境中运行。你也可以通过这个命令指定默认的Python版本:
sudo update-alternatives --set python /usr/bin/python3.7
无法使用pip自动生成Python版本。但是,如果您考虑使用conda来管理Python环境和依赖项,您可以创建一个名为environment.yml
的文件,其中包括所有依赖项和项目中使用的Python版本。要生成environment.yml
文件,请使用以下命令:
conda env export > environment.yml
这将在当前目录中创建一个environment.yml
文件,其中包含所有已安装的软件包及其特定版本的列表,以及您项目中使用的Python版本。
要从environment.yml
文件创建新环境,请使用以下命令:
conda env create -f environment.yml
这将创建一个新的 conda 环境,具有与原始环境相同的依赖项和 Python 版本。
2.6
还是2.7
的?如果它不是为2.6
编写的,显然它在你的服务器上不会起作用,所以我不知道你想做什么 :)。假设它是为2.6
编写的,只需记录它是2.6+
,并且没有必要特别指定在创建venv时使用2.6
,如果有人使用2.7
,那又怎样呢? - Julian