为virturalenvwrapper区分mkvirtualenv和mkproject

时间:2012-03-21 19:59:26

标签: python virtualenv virtualenvwrapper virtualenv-commands

我在谈论Doug Hellman's virtualenvwrapper。好吧,按照他的说法,一旦我们安装了virtualenvwrapper,我们应该按照here

的说明编辑.bashrc文件。

我们所做的是添加以下三行代码:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

其中.virtualenv是放置venvs的目录。 Devel是代码所在的目录。

观察1: 当我mkvirtualenv proj1发生了什么事情时,名为proj1的目录是在.virtualenv中创建的,但不是在Devel内部。

观察2: 当我执行mkproject proj1时,会创建.virtualenv内部以及Devel内部的目录。

现在问题:

  1. 请解释观察1

  2. 如果两个项目有相同的要求并且我想使用单个环境并且不想从创建另一个virtualenv开始并重新安装所安装的相同内容,该怎么办?我该怎么做?

1 个答案:

答案 0 :(得分:4)

  1. 这是预期的行为。命令mkvirtualenv创建一个虚拟环境,但它不会为您创建项目。有些人使用Django进行Web开发,其他人使用Python进行科学编程,因此mkvirtualenv为您设置一些内容会过于宽泛。如果您正在开始一个新项目,您可以自己创建一个目录。

  2. 如果两个项目都在不同的目录中,您可以激活虚拟环境,然后导航到任一项目目录以进行处理。然后,您还可以在虚拟环境中执行每个项目的代码。这样,您无需在新的虚拟环境中重新安装需求。