Django virtualenv布局

han*_*raj 15 python django virtualenv

我是django的新手.我只是使用virtualenv有一个关于项目布局的基本问题.当我们创建virtualenv并安装所有依赖项-django等时,我是否需要将我的目录切换到virtualenv然后在那里创建一个项目?或者我需要在virtualenv之外创建我的项目.如果这是一个非常基本的问题,我道歉.

Bur*_*lid 22

不,您创建虚拟环境的目录是完全独立的,不是您要去创建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
Run Code Online (Sandbox Code Playgroud)

所以你看,你实际上并没有对虚拟环境目录做任何事情; 它完全由virtualenv和管理pip.

通过在中心位置管理虚拟环境,该virtualenvwrapper项目使这一过程变得更加容易.


Mar*_*cin 1

这涉及如何使用 virtualenv 的核心:cd 到 virtualenv 目录,然后激活它(或相反 - 这并不重要)。在 Linux(或 cygwin)上执行此操作的常用方法是./bin/activate/从 virtualenv 内部获取源。

那时,如果您使用pippython它们将位于该 virtualenv 本地。您应该只执行安装,并在激活 virtualenv后运行您的东西。

因此,回答您的问题:在开始安装或执行任何操作之前切换并激活。在激活 virtualenv 的情况下,在 virtualenv 内执行所有操作。