python控制台错误:ImportError:没有名为' django'

时间:2015-01-21 08:43:54

标签: python django

我正在关注django快速安装说明。

  • 我激活了venv
  • 我从venv里面做了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

3 个答案:

答案 0 :(得分:2)

我怀疑这是你出错的地方:

  1. 您创建了一个虚拟环境(virtualenv --python=/usr/bin/python3.4
  2. 接下来,你忘了激活它;或者你激活了它,然后你做了sudo pip install django
  3. 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。