指定' pip' requirements.txt

时间:2016-09-19 09:38:25

标签: python pip virtualenv requirements.txt

我开发了一个Python / Django应用程序,它从虚拟环境(由virtualenv创建)运行。

创建虚拟环境时,默认情况下会将pip的全局版本复制到新创建的环境中,这可能已过时(例如,来自1.5.4的版本python-pip在Ubuntu 14.04上打包。

为避免手动pip升级,将pip版本固定在requirements.txt文件中似乎是一个好主意,例如添加以下行:

pip==8.1.2

通过更改需求文件中的行,指定pip版本还允许在所有托管应用程序环境(本地,开发,生产)中升级pip

这听起来像是一种好习惯吗?这种方法有什么问题吗?

2 个答案:

答案 0 :(得分:4)

请注意pip中列出的requirements.txt版本将与其他要求一起安装。因此,旧版pip将安装所有要求,之后将提供requirements.txt中指定的版本。

我总是这样做:

virtualenv /path/to/my/desired/venv/
source /path/to/my/desired/venv/bin/activate
pip install -U pip
pip install -r requirements.txt

答案 1 :(得分:0)

您遇到的问题是由Ubuntu 14.04随附的旧版python-virtualenv引起的。您应该删除Ubuntu软件包并通过pip安装:

sudo pip install virtualenv

然后确保你也安装了最新的pip。

sudo pip install -U pip

您应该在新的虚拟环境中安装该版本。