没有名为django的模块,但它已安装

srk*_*srk 20 python django ubuntu pythonpath

我有两个版本的python 2.7和3.4并通过pip安装了django.它显示在ubuntu终端:

$ pip freeze
Django==1.6.11
$ pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
$ python
Python 2.7.9 (default, Feb  3 2016, 02:50:32) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django
>>> import sys
>>> sys.path
['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']
>>> 
Run Code Online (Sandbox Code Playgroud)

任何的想法??

awe*_*oon 29

可能pip将包安装到dist-packages目录中,该目录未包含在PYTHONPATH环境变量中.你有几个解决方案:

  1. virtualenv在使用之前,为您的项目创建和配置pip.这是最恐怖的方式
  2. 尝试Django使用内置pip模块进行安装:

    python -m pip install django
    
    Run Code Online (Sandbox Code Playgroud)

    此命令应将软件包安装到site-packages目录中.

  3. 您也可以添加dist-packages到您的PYTHONPATH.这个问题可以帮到你:如何全局修改默认的PYTHONPATH(sys.path)?


Ber*_*lli 8

对于已安装的其他模块,我有类似的错误,以超级用户身份执行相同的命令:

sudo pip3 install -r requirements.txt

解决了我的问题。


off*_*dal 7

此错误表明未安装 Django。安装 Django 应该可以解决问题。

就我而言,Django 存在于我的 virtualenv 中,但是在使用 gunicorn 时我遇到了这个错误,后来我意识到 gunicorn 正在处理我的全局安装 python 环境而不是我的虚拟环境在我的全局 python env 上安装 Django 简单地解决了我的问题。

pip install django
Run Code Online (Sandbox Code Playgroud)


Dev*_*B2F 5

使用时出现此错误

python manage.py runserver #python version 3 was being used
Run Code Online (Sandbox Code Playgroud)

使用以下方法解决了问题:

python2 manage.py runserver #python version 2
Run Code Online (Sandbox Code Playgroud)