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

问题描述 投票:19回答:7

我有两个版本的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']
>>> 

任何的想法??

python django ubuntu pythonpath
7个回答
25
投票

也许,pip将软件包安装到dist-packages目录中,该目录未包含在PYTHONPATH环境变量中。你有几个解决方案:

  1. 在使用virtualenv之前,为您的项目创建和配置pip。这是最恐怖的方式
  2. 尝试使用Django安装built-in pip modulepython -m pip install django 此命令应将软件包安装到site-packages目录中。
  3. 您也可以将dist-packages添加到您的PYTHONPATH。这个问题可以帮到你:How to globally modify the default PYTHONPATH (sys.path)?

3
投票

使用时出现此错误

python manage.py runserver #python version 3 was being used

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

python2 manage.py runserver #python version 2

1
投票

对于Mac用户;如果您以前下载并安装了python3,只需通过终端shell运行python默认使用预安装的python v2,它将无法识别您的django安装(除非您通过python2模块安装)并且您可能检查版本时出错:

$ python

>>> from django import get_version
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django

尝试启动python使用:

$ python3

然后尝试:

>>> from django import get_version
>>> get_version()

你应该得到输出:

'2.0.3'

1
投票

如果您正在使用virtualenv,则需要关闭计算机中的其他活动虚拟环境,并确保已安装django。转到python3解释器并运行:

>>from django import get_version
>>django_version()

确保它显示这个'2.1.4'


1
投票

我也遇到了同样的问题。我使用python 3.7并安装了django 2.2。所以我将我的python降级到3.6并安装了django 2.2,并且没有virtualenv。


0
投票

我把requirements.txt的依赖关系作为Django==2.0.7。因此,在激活虚拟环境后,如果您收到消息,请尝试安装要求:

pip install -r requirements.txt

0
投票

当我尝试使用Django设置Apache工作时,我遇到了同样的问题。将Apachepath添加到Apache2.conf之后解决问题:

WSGIPythonPath/opt/djangoprojects/myproject:opt/anaconda3/lib/python3.6/site-packages

我之前安装过Python3。


0
投票

此错误显示您未安装Django。安装Django应该可以解决问题。

一旦你这样做,你可以使用以下方法检查“django”的路径:

>>> sys.path
© www.soinside.com 2019 - 2024. All rights reserved.