试图为Python金字塔项目制作开发实例

时间:2016-08-09 06:17:54

标签: python pyramid pylons

所以我有这个基于Python金字塔的应用程序,我的开发工作流程基本上只是将更改的文件直接上传到生产区域。

接近发射,显然不再适用了。

我设法编辑了连接字符串和development.ini,并将开发实例指向辅助数据库。

现在我只需要弄清楚如何在某个地方创建另一个项目副本,我可以在那里处理事情,然后进行更改。

起初,我认为我可以在其他地方制作项目目录的副本,并使用指向新位置的不同参数运行它。那没用。

然后,我基本上建立了一个名为myproject-dev的全新项目。我完成了设置说明:

我使用了pcreate,然后使用setup.py开发,然后我从我的项目中复制了我的development.ini,并仔细编辑了对myproject-dev的各种引用,而不是myproject。 然后, initialize_myproject-dev_db /var/www/projects/myproject/development.ini

最后,我得到一个很好的金字塔欢迎页面,一切正常。

我想当时我可以把项目目录中的所有东西都炸掉并复制主项目文件,但是当我注意到很多东西都没有工作的时候,我就感觉到了这种感觉,就像静态网址一样。

显然,我在包含和静态网址中引用了myproject,谁知道其他地方。

我不认为这个想法会起作用,所以我现在已经放弃了。

有谁能让我了解人们如何为Python金字塔项目设置开发实例?

2 个答案:

答案 0 :(得分:2)

如果不是这样的话,你应该做的第一件事就是对你的项目进行版本控制。我推荐使用git。

除了在开发时管理对应用程序所做的更改的好处之外,它还可以更容易地在开发人员之间共享副本......或者与生产部署共享副本。实际上,生产可以只是项目的git clone,就像您的开发实例一样。

第二件事是你需要在Python库路径中安装项目。这就是所有importinclude的工作方式。

我建议使用virtualenvpew为此创建虚拟环境,以便您的应用(及其依赖关系)被隔离"来自您系统的其他部分和其他应用程序。

您的项目中可能有一个setup.py脚本。如果没有,create one。然后在生产中使用pip install .安装项目,或在开发中安装pip install -e .

答案 1 :(得分:1)

以下是我管理上一个金字塔应用的方式:

我有一个development.ini和一个production.ini。除了其他两个,我实际上还有一个development.local.ini - 一个用于本地开发,一个用于我们的"测试"系统,一个用于生产。我使用git进行版本控制,并有一个主要分支用于生产部署。在我的prod服务器上,我创建了虚拟环境等,然后将拉出我的主分支并使用production.ini配置文件运行。更新基本上涉及跳回virtualenv并从repo中提取最新更新,然后重新启动金字塔服务器。