安装Virtualenv并激活virtualenv不起作用

时间:2016-10-08 16:51:49

标签: python django virtualenv

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

它给我一个错误说:

  

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

5 个答案:

答案 0 :(得分:15)

  

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

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

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

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

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

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

pip install -r requirements.txt

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

pip install -e path/to/your/project/clone/.

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

当然,如果唯一的依赖是Django,你只需输入

即可
pip install django

答案 1 :(得分:10)

在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 

答案 2 :(得分:2)

我猜你也从你的其他电脑上传虚拟环境。而且你希望只有激活它才能起作用,bzz。

不建议将virtualenv文件上传到你的git存储库,因为@Alain说这是一个包含项目依赖项的requirements.txt文件的好习惯。您可以使用pip freeze > requirements.txt(激活环境时)生成项目需求文件。

通过这样做,当您从另一台计算机克隆存储库时,您需要通过发出命令来创建一个新的virtualenv:

virtualenv nameofenv

然后激活它:

source nameofenv/bin/activate

最后,使用requirements文件使用以下命令安装项目的需求:

pip install -r requirements.txt

答案 3 :(得分:2)

如果您的计算机上有多个python,例如python2.7python3.4python3.6,则需要导入以确定{{1}的版本}确实引用了python所引用的版本,甚至更多。

当我运行以下命令时,在安装pip之后遇到了同样的问题。

let's encrypt

我检查了(python3 manage.py runserver 0:8000 &) 版本,发现pythonpython3python3.4python3.6都可用。

我只是将python3.4m更改为python3并解决了问题。

python3.6

因此,如果长时间没问题并突然崩溃,则可能是版本不匹配的问题。

答案 4 :(得分:0)

我已经通过Command + Shift + .安装了Django 2,但是我正在运行pip3 install Django而不是python manage.py runserver。 Django 2仅适用于python 3 +。