区分 virturalenvwrapper 的 mkvirtualenv 和 mkproject

apc*_*ent 5 python virtualenv virtualenvwrapper virtualenv-commands

我说的是Doug Hellman 的 virtualenvwrapper。好吧,按照他的说法,一旦我们安装了 virtualenvwrapper,我们应该按照这里的解释编辑 .bashrc 文件

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

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

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

观察 1: 当我执行时mkvirtualenv proj1,会在 .virtualenv 中创建一个名为 proj1 的目录,但不在 Devel 中。

观察 2: 当我这样做时mkproject proj1,会在 .virtualenv 和 Devel 中创建一个目录。

现在的问题:

  1. 请解释观察 1

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

Sim*_*ser 5

  1. 这是预期的行为。该命令mkvirtualenv创建虚拟环境,但不会为您创建项目。有些人使用 Django 进行 Web 开发,其他人则使用 Python 进行科学编程,因此它的范围太广,无法mkvirtualenv为您设置一些东西。如果您要开始一个新项目,您可以简单地自己创建一个目录。

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