我对姜戈很陌生。关于使用virtualenv的项目布局,我有一个非常基本的问题。当我们创建virtualenv并安装所有依赖项-django等时,我是否需要将我的目录切换到virtualenv,然后在那里创建一个项目?或者我需要在virtualenv之外创建我的项目。如果这是一个非常基本的问题,我道歉。
发布于 2013-07-24 23:29:23
不,您创建虚拟环境的目录是完全独立的,并且不是您创建django项目的位置。
实际上,您通常会将所有虚拟环境放在一个单独的目录中;对我来说,我将它们放在$HOME/work/.envs
中(请注意.
,这使得该目录在默认情况下是隐藏的),因此我的工作流程是:
$ virtualenv $HOME/work/.envs/new_env
$ source $HOME/work/.envs/new_env/bin/activate
(new_env)$ pip install django
(new_env)$ cd ~/projects
(new_env)/projects$ django-admin.py startproject atestproj
因此,您实际上不需要对虚拟环境目录做任何操作;它完全由virtualenv
和pip
管理。
virtualenvwrapper
project通过在中央位置管理您的虚拟环境,使这一点变得更容易。
发布于 2013-07-24 23:40:31
与virtualenv配合使用的目录结构应如下所示:
|-- project_name
|-- django
|-- project_name
|-- virtualenv
|-- project_name
|-- bin
当然,这并不是你的项目目录结构应该如何布局的最终答案--但多年来,它对我和我认识的其他人都很有效。
我强烈推荐初学者使用“twoscoops”django项目的目录结构和教程:https://github.com/twoscoops/django-twoscoops-project
我还推荐使用virtualenvwrapper来简化虚拟环境的管理:http://virtualenvwrapper.readthedocs.org/en/latest/
发布于 2013-07-24 23:01:17
这切中了您如何使用virtualenv: cd到virtualenv目录的核心,然后激活它(或者反过来-这并不重要)。在linux (或cygwin)上,通常的方法是从virtualenv内部获取./bin/activate/
。
在这一点上,如果您使用pip
或python
,它们将位于该虚拟环境的本地。您应该只执行您的安装,并在激活virtualenv之后运行您的东西。
所以,回答你的问题:在开始安装或执行任何操作之前,请切换并激活。在virtualenv中执行所有操作,并激活它。
https://stackoverflow.com/questions/17837723
复制相似问题