我已安装virtualenv
sudo pip3 install virtualenv
然后创建了一个新的virtualenv
virtualenv --python=/usr/bin/python3.5 venv
它返回了
Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /home/alexandra/Documents/online-store/venv/bin/python3.5
Also creating executable in /home/alexandra/Documents/online-store/venv/bin/python
Installing setuptools, pip, wheel...done.
激活它
source venv/bin/activate
然后安装了Django
sudo pip3 install django
它安装在那里(即sudo pip3 install django --upgrade
返回的内容)
/usr/local/lib/python3.4/dist-packages
也许这就是问题所在?因为它安装在python3.4
而不是python3.5
。但是如何在Django
中安装python3.5
?
在文件manage.py
中,此virtualenv中有python3.5
的路径。
然后我跑
python manage.py runserver
它返回错误
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named 'django'
任何人都可以帮助我吗?
答案 0 :(得分:3)
使用pip在虚拟环境中安装软件包时,请不要sudo。它使包安装在全球范围内。只需从命令开头删除sudo,它就应该安装在你当前正在使用的venv中。
答案 1 :(得分:0)
您已将django安装到系统python 3.4中。
当你第一次没有sudo运行install命令时,是否会抱怨权限?那应该是你的线索,它不是正确的pip
。我的猜测是pip3
只存在于系统python而不是你的virtualenv。您可以使用which
查找,但这在任何情况下都有效:
venv/bin/pip install django
答案 2 :(得分:0)
不要sudo
只使用pip
来安装所有软件包。你已经在virtualenv中安装了python3,所以不需要使用pip3。
只做例如pip install django
。或其他包pip install <package_name>