从requirements.txt安装选定的包

时间:2013-11-14 13:50:03

标签: python django pip

我的开发机器上有一个requirements.txt文件。我已将其推入git repo并将其克隆到服务器上。

我将更改推送到服务器的方式如下:

我冻结了我的开发机器上的文件,然后我将文件添加到git并将其拉到服务器上并执行pip install -r requirements.txt。

但这样做是一次又一次地安装所有包,我不想要那样。我只希望安装那些未安装在服务器上的软件包。

这样做最好的方法是什么?我还想知道将开发代码推送到服务器的其他有效方法。

1 个答案:

答案 0 :(得分:1)

使用buildout,这是其他方法。 Buildout在安装之前检查包,因此不会重新安装不需要的包。

这是非常强大的工具。部署时,您只需要生成git push,然后在生产服务器上执行:

git pull
bin/buildout

就是这样。您可以阅读有关Buildout and pip+virtualenv差异

的文章

修改


您可以在PIP_DOWNLOAD_CACHE中设置settings.py路径,告诉pip将所有下载的软件包存储在某个目录中(例如“packages”),这样就不会再次下载它们了:< / p>

import os.path

PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__))
PIP_DOWNLOAD_CACHE = os.path.abspath(PROJECT_ROOT+'/packages/'),