导入错误:没有名为 django 的模块 - 用于特定项目
Posted
技术标签:
【中文标题】导入错误:没有名为 django 的模块 - 用于特定项目【英文标题】:Import Error: No module named django - for specific project 【发布时间】:2017-04-09 01:45:18 【问题描述】:我已经在我的 Ubuntu 16.04 中安装了 Django(1.8.2)。 当我将一个工作项目克隆到其中并运行服务器时,出现以下错误。
Traceback (most recent call last):
File "manage.py", line 31, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/usr/lib/python2.7/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python2.7/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/lib/python2.7/django/apps/config.py", line 119, in create
import_module(entry)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named django
观察:
我可以开始一个新项目并运行它的服务器。settings.py
中INSTALLED_APPS
的值为:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Telecommands',
'Telemetry',
'captcha',
'django.contrib.sitemaps',
'djcelery',
'kombu.transport.django',
# 'grappelli',
# 'chronograph',
# 'registration', # Include the registration
)
我尝试了什么?
使用pip install django==1.8.2
安装django。
由于参考/usr/lib/python2.7/
报错,
我试过了:sudo pip install --install-option="--install-purelib=/usr/lib/python2.7/site-packages/" --ignore-installed django==1.8.2
此外,当我对路径感到困惑时/usr/local/lib/python2.7/dist-packages
,/usr/lib/python2.7/dist-packages/
和~/.local/lib/python2.7/dist-packages
。
我将 django(1.8.2) 安装到这些路径中的每一个,
并行更新PYTHONPATH
。
我确实没有在安装时遇到任何错误。
谁能帮帮我。请解释错误的原因。
【问题讨论】:
问题已更新为INSTALLED_APPS
vaule。
最新的 Django 1.8.x 版本目前是 1.8.16。如果您运行的是 1.8.2,那么您缺少几个安全修复程序。
【参考方案1】:
回溯显示错误发生在/usr/lib/python2.7/django/__init__.py
,因此manage.py
清楚地找到了您的Django 安装。顺便说一句,使用虚拟环境比安装在/usr/lib/python2.7/site-packages/
中要好得多。
问题似乎是您的INSTALLED_APPS
中有kombu.transport.django
。 Django transport was removed from kombu in 4.0。
【讨论】:
您的修复成功了。它在我的队友笔记本电脑上运行良好。具有相同的配置。 (长背安装)。 :) 如果它在你队友的笔记本电脑上工作,他们可能安装了kombu 您能否解释一下这是如何导致问题的。我有点惊讶模块中的错误以某种方式“掩盖”另一个错误。 您收到错误是因为您的INSTALLED_APPS
中有kombu.transport.django
,但它不存在。同样,如果您在INSTALLED_APPS
中有kombu.transport.foobar
,那么您将收到错误ImportError: No module named foobar
。在这种情况下,问题出在哪里会更清楚,因为名称不会冲突。以上是关于导入错误:没有名为 django 的模块 - 用于特定项目的主要内容,如果未能解决你的问题,请参考以下文章
Django 导入错误 - 没有名为 django.conf.urls.defaults 的模块
django 导入错误 - 没有名为 core.management 的模块
升级到 Django 1.7。导入错误:没有名为仪表板的模块