如果我不使用系统包,我还需要在virtualenv中安装Django吗?

时间:2012-12-03 09:08:50

标签: python django virtualenv pip

我已经使用--no-site-packages选项安装了virtualenv。

我很怀疑

  1. 如果我将django与virtualenv一起使用,那么这是否意味着我的django网站与系统软件包完全隔离。我的意思是系统站点软件包中安装的任何软件包都不可用?

  2. 我已经在virtualenv中安装了所有软件包,但没有安装django。我是否还需要在virtualenv中安装Django?

  3. 假设我有一些不在virtualenv中但在主env中可用的包,我可以从主包访问它还是一次只能运行一个环境?

1 个答案:

答案 0 :(得分:3)

是的,您可以通过pip或从Django下载并运行安装程序。在这两种情况下,您都需要确保virtualenv处于活动状态,即源ENV / bin / activate

  1. virtualenv的目的是让你的主系统保持独立,你想做到这一点。

  2. 你应该在你的virtualenv中安装它们,这是更好的做法。

  3. 关于virtualenv的一个非常好的事情是你可以为你的项目创建一个很好的完整环境。然后,一旦工作和稳定你可以pip冻结包并git你的代码,然后你知道如果你共享你的项目或移动系统整个事情将很容易重新创建,只是工作:)

    ---更新评论--- 在命令行并假设Linux类型环境

    $ cd 
    $ virtualenv --no-site-packages --distribute ENV
    $ source ENV/bin/activate 
    $ pip install django 
    $ pip install all_the_packages_you_need
    

    现在你可以进入你的django项目并正常运行python命令,它将使用你的virtualenv“ENV”python和site-packages