我从Github帐户克隆了我的Django项目,并使用着名的命令source nameofenv/bin/activate
激活了virtualenv
当我运行python manage.py runserver
它给我一个错误说:
ImportError:无法导入Django。您确定它已在PYTHONPATH环境变量中安装并可用吗?您是否忘记激活虚拟环境?
答案 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.7
,python3.4
,python3.6
,则需要导入以确定{{1}的版本}确实引用了python
所引用的版本,甚至更多。
当我运行以下命令时,在安装pip
之后遇到了同样的问题。
let's encrypt
我检查了(python3 manage.py runserver 0:8000 &)
版本,发现python
,python3
,python3.4
,python3.6
都可用。
我只是将python3.4m
更改为python3
并解决了问题。
python3.6
因此,如果长时间没问题并突然崩溃,则可能是版本不匹配的问题。
答案 4 :(得分:0)
我已经通过Command + Shift + .
安装了Django 2,但是我正在运行pip3 install Django
而不是python manage.py runserver
。 Django 2仅适用于python 3 +。