我正在关注django快速安装说明。
pip install django
,有了和不带 sudo的并收到了同样的消息。检查安装:
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'django'
&#34;你......?&#34;
没有。我没有。我没有做任何额外的事情。这是一个已经安装了virtualenv的vm(由vagrant / puppet构建)的新产生。准备这个venv我唯一要做的就是让它不使用系统python 2.7.8。 virtualenv --python=/usr/bin/python3.4 myvirtualenv
(在一个单独的基于金字塔的项目中,它会在设置过程中失败(python setup.py development.ini
会失败,invalid command name 'development.ini'
我不需要该项目的项目,但是这样说这里可能会揭示有关安装的内容。)。
那么如何让它消失呢?
编辑:澄清@catavaran&amp;的答案@Burhan Khalid
答案 0 :(得分:2)
我怀疑这是你出错的地方:
virtualenv --python=/usr/bin/python3.4
)sudo pip install django
。 sudo pip
将运行系统范围pip
,为Python 2.7.8安装django,而不是为虚拟环境安装。
如果退出虚拟环境并尝试导入django - 它将起作用。
要解决此问题,请确保激活虚拟环境,然后不要使用sudo来安装软件包。
答案 1 :(得分:0)
在安装/使用django之前,你应该激活你的virtualenv。在致电sudo
时不要pip
:
$ source ~/.virtualenvs/myenv/bin/activate
$ pip install django
答案 2 :(得分:0)
原来问题是设置中的权限。
导致Django无法完成安装。在安装的pip install django
段期间,permissions error
mkdir
上的Cleaning up...
会失败。虽然可能已经安装了所有文件,但我认为它还没有完全配置。
sudo pip install django
并不是更好,因为django安装现在具有su权限,这有助于解决上面的mkdir问题,同时可能会产生其他问题。
两次安装后,python控制台import django
都会出错。
修复:虚拟环境需要由调用虚拟环境的用户拥有。
sudo chown -R youruser:youruser /opt/myenv
就我而言,puppet以root用户的身份创建了venv和dirs。