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

时间:2016-02-03 18:07:35

标签: 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']
>>> 

任何想法??

15 个答案:

答案 0 :(得分:25)

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

  1. 在使用pip之前,为您的项目创建和配置virtualenv。这是最恐怖的方式
  2. 尝试使用built-in pip module安装Django

    python -m pip install django
    

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

  3. 您还可以将dist-packages添加到PYTHONPATH。这个问题可以帮助您:How to globally modify the default PYTHONPATH (sys.path)?

答案 1 :(得分:3)

使用

时出现此错误
python manage.py runserver #python version 3 was being used

使用以下方法解决问题:

python2 manage.py runserver #python version 2

答案 2 :(得分:1)

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

>>from django import get_version
>>django_version()

确保它向您显示此“ 2.1.4”

答案 3 :(得分:1)

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

在我的情况下,Django存在于我的virtualenv中,但是在使用gunicorn时出现此错误,然后我意识到gunicorn正在处理我的全局安装python环境,而不是我在全局python env上安装Django的虚拟环境只是解决了我的问题

pip install django

答案 4 :(得分:0)

对于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'

答案 5 :(得分:0)

我在requirements.txt中将依赖项指定为Django==2.0.7。因此,在激活虚拟环境之后,如果收到消息,请尝试安装要求:

pip install -r requirements.txt

答案 6 :(得分:0)

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

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

我以前安装过Python3。

答案 7 :(得分:0)

我也面临着同样的问题。我正在使用python 3.7并安装了django 2.2。因此,我将python降级为3.6并安装了django 2.2,而没有安装virtualenv。

答案 8 :(得分:0)

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

完成后,您可以使用以下命令检查“ django”的路径:

>>> sys.path

答案 9 :(得分:0)

我今天遇到了同样的问题。做pip3 install djangopip3 install -r requirements.txt就解决了。

答案 10 :(得分:0)

par = contents.split('.') 解决了我的问题 运行时出现此错误: python3 manage.py migrate 我更改为python manage.py migrate

答案 11 :(得分:0)

对于已经安装的其他模块,与超级用户执行相同的命令,我也遇到类似的错误:

sudo pip3 install -r requirements.txt

解决了我的问题。

答案 12 :(得分:0)

尝试更新Django。

我遇到了同样的问题,因为我安装了旧版本的Django。我安装了最新版本的Django,它解决了我的问题。

答案 13 :(得分:0)

对于 MacOs,我在使用 import django 时遇到了同样的问题。我停用了 conda 并再次通过 conda 激活了 django 虚拟环境。然后确保 python 版本是正确的,在我的情况下是 python 3.8.5。然后导航到项目目录并运行所需的 python 脚本。 我的Django版本是3.1.5

答案 14 :(得分:0)

卸载/安装

确认您正在从 virtualenv 运行您已将应用安装到 venv。

如果您确定已安装它但仍然显示未找到 mdule,请卸载并重新安装。