如何为第三方django应用程序获取控件迁移?

时间:2016-07-09 00:50:10

标签: django

我目前正在django开发一个网站。我创建了一个virtualenv,其中存在我的pip安装。我在源代码管理中对我的网站进行版本控制。在VCS中忽略/ lib文件夹,其中保留了pip安装的文件。但我现在有一个django应用程序,我已经通过包含数据库信息的pip安装。所以现在我的部分迁移不受版本控制。

我没有部署任何升级或生产环境,而且我是唯一的开发者。但我很快就会进行部署工作。我需要尽快在VCS下进行这些迁移。

我的问题是如何为第三方django应用程序控制迁移(以及可能的其他东西)的版本控制?我可能会:

  • 版本只是virtualenv中的迁移文件夹。
  • 版本整个virtualenv? / lib文件夹是36mb ...现在没什么疯狂的。
  • 别的什么?我对python很新,所以我不确定这是如何工作的。

2 个答案:

答案 0 :(得分:1)

大多数拥有模型的第三方应用程序也应附带这些模型的迁移。如果有一个应用程序没有,那么您可能需要向应用维护者报告。您不必为第三方应用程序进行迁移,除非您已明确修改/子类化其模型(这不常见)。

第三方库中的任何其他内容也是如此。您的版本控制应限于将项目固定到特定版本的第三方库,并且不应该真正存储任何其他内容。

这通常使用项目中的requirements.txt文件来完成,该文件列出了所有第三方依赖项。然后,可以跨平台一致地使用此文件rebuild the virtual environment

答案 1 :(得分:0)

您不应该将pip应用程序添加到版本控制中,只需在生产计算机上运行pip install即可。您可以将版本号传递给pip,这样您始终可以获得相同的版本pip install requests==2.9.1。您应该安装pip安装库的文件夹应该完全在VCS之外,默认值类似于/usr/lib64/python2.7/site-packages,因此您要么为VCS添加太多内容,要么破解了pip安装路径。如果您更好地解释如何将pip应用程序放入项目目录中,我们可以帮助您解决这些问题。

P.S。您没有deployment work soon上的商标:)