Python 在虚拟电视中工作时,我应该在哪里?

Python 在虚拟电视中工作时,我应该在哪里?,python,virtualenvwrapper,Python,Virtualenvwrapper,我刚刚在我的电脑上安装了virtualenv和VirtualenvRapper。现在我想用它来处理Django。当我从~运行mkvirtualenv-django时,解释器保持在那里。这是否意味着我可以在那里创建django文件?或者环境不是虚拟的?我是否应该创建自己的文件夹,而不是在项目中工作?我以为mkvirtualenv会自动为我创建一个,并在运行workon时将我带到那里,否则,甚至使用virtualenvwrapper还有什么意义 编辑:我的.bash_配置文件中的以下几行可能会帮助您

我刚刚在我的电脑上安装了virtualenv和VirtualenvRapper。现在我想用它来处理Django。当我从
~
运行
mkvirtualenv-django
时,解释器保持在那里。这是否意味着我可以在那里创建django文件?或者环境不是虚拟的?我是否应该创建自己的文件夹,而不是在项目中工作?我以为
mkvirtualenv
会自动为我创建一个,并在运行
workon
时将我带到那里,否则,甚至使用virtualenvwrapper还有什么意义

编辑:我的.bash_配置文件中的以下几行可能会帮助您:

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

VirtualEnvrapper将在~$WORKON\u HOME/目录中创建VirtualEnvrapper。这只是venv,不同于您可能(或不…)想要使用的任何关联的“项目”目录,并且VirtualNVRapper确实不会创建该目录

注意,此时您与运行
mkvirtualenv
命令时处于完全相同的目录中

如果要将此venv与项目目录关联,则必须创建此目录(如果它尚不存在),然后在激活venv的情况下运行
setvirtualenvproject/path/to/your/projectdir
(或
cd/path/to/your/projectdir
,然后在此处运行
setvirtualenvproject
,无参数)

完成此操作后,下次使用
workin myenv
激活venv时,您也将自动cd'ed到您的项目目录,如果您在其他地方cd,则
cdproject
命令将带您返回该目录

至于使用(或不使用)VirtualWrapper的其他原因,您可以阅读文档,自己找出它向原始
virtualenv
添加了哪些其他功能,以及您是否需要这些功能


FWIW您期望的行为(创建venv和项目目录)由

VirtualEnvrapper提供,它将在您的~$WORKON_HOME/目录中创建VirtualNV。这只是venv,不同于您可能(或不…)想要使用的任何关联的“项目”目录,并且VirtualNVRapper确实不会创建该目录

注意,此时您与运行
mkvirtualenv
命令时处于完全相同的目录中

如果要将此venv与项目目录关联,则必须创建此目录(如果它尚不存在),然后在激活venv的情况下运行
setvirtualenvproject/path/to/your/projectdir
(或
cd/path/to/your/projectdir
,然后在此处运行
setvirtualenvproject
,无参数)

完成此操作后,下次使用
workin myenv
激活venv时,您也将自动cd'ed到您的项目目录,如果您在其他地方cd,则
cdproject
命令将带您返回该目录

至于使用(或不使用)VirtualWrapper的其他原因,您可以阅读文档,自己找出它向原始
virtualenv
添加了哪些其他功能,以及您是否需要这些功能


FWIW您期望的行为(创建venv和项目目录)由

给出。VirtualEnvrapper的主要优点是将您的环境与特定的工作目录分离。只需通过以下方式激活您的环境:

workon django
提示应更改为:

(django)

现在,您可以从任意目录自由工作。

VirtualEnvrapper的主要优点是将您的环境与特定的工作目录分离。只需通过以下方式激活您的环境:

workon django
提示应更改为:

(django)

现在,您可以从任意目录自由工作。

什么是“IOW”意思?@LaurentPorte换句话说(autrement dit)“IOW”是什么意思?@LaurentPorte换句话说(autrement dit)