安装Virtualenv并激活virtualenv不起作用

abh*_*ond 12 python django virtualenv

我从Github帐户克隆了我的Django项目并使用着名的命令激活了virtualenv source nameofenv/bin/activate .当我跑步时python manage.py runserver

它给我一个错误说:

ImportError:无法导入Django.您确定PYTHONPATH环境变量已安装并可用吗?您是否忘记激活虚拟环境?

Jér*_*ôme 20

我在想,我需要的每一个依赖都可能存在于virtualenv中.

好吧,不.默认情况下,新创建的virtualenv为空,即没有第三方库.(Optionaly,你可以允许virtualenv访问系统安装的库,但这是另一个故事.)

创建virtualenv后,您需要安装所需的依赖项.

(virtualenv怎么能知道你需要什么依赖?)

该过程是安装virtualenv,激活它,然后安装项目所需的库(在你的情况下Django和其他人).

如果您的项目有一个requirements.txt,您可以使用以下命令安装所有必需的依赖项:

pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

如果您的项目有setup.py,您也可以执行

pip install -e path/to/your/project/clone/.
Run Code Online (Sandbox Code Playgroud)

在virtualenv中安装项目.这应该安装依赖项.

当然,如果唯一的依赖是Django,你可以输入

pip install django
Run Code Online (Sandbox Code Playgroud)


Dim*_*zis 11

在ubuntu版本上

#install python pip 
sudo apt-get install python-pip
#install python virtualenv
sudo apt-get install python-virtualenv
# create virtual env 
virtualenv  myenv
#activate the virtualenv
. myenv/bin/activate
#install django inside virtualenv
pip install django
#create a new django project
django-admin.py startproject mysite
#enter to the folder of the new django project
cd mysite
#run the django project
python manage.py runserver 
Run Code Online (Sandbox Code Playgroud)


W.P*_*rin 5

如果您的计算机上有多个版本python,例如,python2.7python3.4python3.6,那么重要的是要弄清楚python真正引用的是哪个版本,更重要的是,确定pip引用的是哪个版本。

let's encrypt当我运行以下命令时,安装后遇到了同样的问题。

(python3 manage.py runserver 0:8000 &)
Run Code Online (Sandbox Code Playgroud)

我检查了版本,python发现python3,,,,都有。python3.4python3.6python3.4m

我只是更改python3python3.6解决了问题。

(python3.6 manage.py runserver 0:8000 &)
Run Code Online (Sandbox Code Playgroud)

所以,如果长时间正常,突然死机,这很可能是版本不匹配的问题。