Django / Python应用程序和开发人员环境的先决条件

时间:2011-06-29 17:29:24

标签: python django

目前我的Django项目有一个庞大的自述文档,任何开发人员都必须遵循设置他们的开发环境。

它是这样的:

  

先决条件:

     
      
  1. Django Css。参见Django CSS。
  2.   
  3. CleverCSS。见Clever CSS。
  4.   
  5. 美丽的汤。见美丽的汤。
  6.   
  7. Dateutil。见python-dateutil。
  8.   
  9. httplib2的   http://code.google.com/p/httplib2/
  10.   
  11. 蟒-的oauth2   https://github.com/simplegeo/python-oauth2
  12.   
  13. 蟒-微博   http://code.google.com/p/python-twitter/
  14.   

是否有任何设施可以编写某种自动获取依赖关系的脚本?至少要将此过程部分自动化为以下内容:

python setup_environment.py

我看过setuptools - 但在我看来,更多是为了将应用程序本身安装到系统上,而不是满足开发人员对环境设置的要求。

2 个答案:

答案 0 :(得分:6)

pip不会做这个工作吗?

http://www.pip-installer.org/en/latest/index.html#

您可以冻结服务器上的所有要求到文件(在服务器上运行):

pip freeze > REQUIREMENTS.txt

然后在您的开发环境中:

pip install -r ./REQUIREMENTS.txt

安装REQUIREMENTS文件中列出的所有内容。

您还应该考虑在开发(和生产)服务器上安装 virtualenv (和virtualenvwrapper)

http://iamzed.com/2009/05/07/a-primer-on-virtualenv/

它们允许您设置多个封装的python环境。这意味着你可以在同一台机器上安装两个django应用程序,每个应用程序都有不同的python版本/ python应用程序/ django版本。

答案 1 :(得分:0)

您还需要每个版本的特定版本 - 您构建并测试应用程序的版本。

但它们都只是python模块 - 即未编译的文本文件。您可以将它们全部放在源代码中,这样当它们获取代码时,它们会同时获得所有这些确切的依赖项。设置pythonpath,你就完成了。

只要程序包是纯python就可以正常工作。任何潜伏在那里的C libs你可能会回到pip / setuptools / apt / easy - “lxml”我正在谈论你。