将virtualenv与遗留的Django项目结合使用

时间:2012-03-21 16:15:42

标签: django virtualenv pip

我终于开始在我的开发机器上为我的Django项目使用virtualenv了。在开始之前,我想知道处理现有项目是否有任何特殊注意事项。我推测的工作流程类似于:

  1. 制作新的virtualenv
  2. 激活新的virtualenv
  3. 在那里安装Django
  4. pip安装我知道我现有项目所需的所有软件包
  5. 将我的Django项目文件,应用程序文件和git文件复制到virtualenv中的项目文件夹中。
  6. 修改 6.制作部署要求文件

    这显然非常简化但是我有什么步骤或考虑从根本上缺失?移动会让git感到高兴吗?对每个Django项目都有一个单独的virtualenv也是最佳实践吗?

    我知道这不是典型的代码问题,但我希望那些比我更了解的人可以指出我正确的方向。

    非常感谢。

1 个答案:

答案 0 :(得分:6)

我没有看到任何关于迁移项目的大问题,我认为你的5步计划是正确的,特别是对于步骤3/4/5(我合并它们),你可以处理项目依赖性pip,可能使用requirement files

需求文件是纯文本文件,告诉您必须在virtualenv中安装哪些软件包,包括您的git跟踪项目,这些项目最终可以作为开发鸡蛋(它们带有版本控制信息)部署在您的虚拟环境中。 一旦你有了一个req文件,那就是:

pip install -r file.req

在您的环境中安装所有需要的软件包。 从virtualenv docs可以看出,典型的req文件包含如下内容:

django==1.3.0
-e git://git.myproject.org/MyProject.git#egg=MyProject

我通常会将每个项目保留在自己的virtualenv中,因此我可以像处理本地开发一样将其部署到生产服务器。