我的开发机器上有一个requirements.txt文件。我已将其推入git repo并将其克隆到服务器上。
我将更改推送到服务器的方式如下:
我冻结了我的开发机器上的文件,然后我将文件添加到git并将其拉到服务器上并执行pip install -r requirements.txt。
但这样做是一次又一次地安装所有包,我不想要那样。我只希望安装那些未安装在服务器上的软件包。
这样做最好的方法是什么?我还想知道将开发代码推送到服务器的其他有效方法。
答案 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/'),