0

我已经安装了带有--no-site-packages选项的 virtualenv。

我有几个疑问

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

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

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

4

1 回答 1

3

是的,您可以通过 pip 或从 Django 下载并运行设置来执行此操作。在这两种情况下,您都需要确保 virtualenv 处于活动状态,即 source ENV/bin/activate

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

  2. 是的。

  3. 您应该将它们安装在您的 virtualenv 中,这是更好的做法。

关于 virtualenv 的一个非常好的事情是您可以为您的项目创建一个很好的完整环境。然后,一旦一切正常且稳定,您就可以冻结软件包并 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 和站点包

于 2012-12-03T09:13:28.180 回答