Django:ImportError:没有名为'corsheaders'的模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django:ImportError:没有名为'corsheaders'的模块相关的知识,希望对你有一定的参考价值。

在我的第一个Django项目中,我遇到了一个奇怪的问题:ImportError:没有名为'corsheaders'的模块。我在我的虚拟环境中安装了django-cors-headers

    sudo pip3 install django-cors-headers

但随着成功。

pip3 freeze显示已安装的软件包django-cors-headers,但每当我运行uwsgi时,它会在日志中显示异常回溯:

 Traceback (most recent call last):
    File "./login/wsgi.py", line 16, in <module>
    application = get_wsgi_application()
    File "/home/pawel/pythonApp/myappenv/lib/python3.5/site-
    packages/django/core/wsgi.py", line 13, in get_wsgi_application
    django.setup(set_prefix=False)
    File "/home/pawel/pythonApp/myappenv/lib/python3.5/site-
    packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
    File "/home/pawel/pythonApp/myappenv/lib/python3.5/site-
    packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
    File "/home/pawel/pythonApp/myappenv/lib/python3.5/site-
    packages/django/apps/config.py", line 94, in create
    module = import_module(entry)
    File 
 "/home/pawel/pythonApp/myappenv/lib/python3.5/importlib/__init__.py", 
    line 126, in import_module
 return _bootstrap._gcd_import(name[level:], package, level)
 ImportError: No module named 'corsheaders'
 unable to load app 0 (mountpoint='') (callable not found or import 
 error)

我尝试安装不同的corsheaders版本,但也没有成功。我正在运行Django 1.11.7和Python 3.5.2。任何帮助,将不胜感激。

编辑#1我确实遵循了corsheader github存储库的官方安装说明。我在settings.py和coresheader中间件中安装的应用程序中有一个corsheaders。

答案

建议的方法是首先激活您的虚拟环境,然后使用pip安装任何软件包。

另一答案

很可能你没有在你的INSTALLED_APPS中添加'corsheaders':

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)
另一答案

对于遇到同样问题的人 - 直接从我的虚拟环境运行pip3:

/home/pawel/pythonApp/myappenv/bin/python3.5 pip3 install django-cors-headers

解决了这个问题。问题是在运行pip3安装时,模块安装在一般的系统范围的pip3目录中,而不是在我的virtualenv目录中。为了启动django我使用解释器为virtualenv,而不是一般解释器。

以上是关于Django:ImportError:没有名为'corsheaders'的模块的主要内容,如果未能解决你的问题,请参考以下文章

Python3.7 ImportError:没有名为“django”的模块

ImportError:仅在 django 中没有名为“bs4”的模块

Django:ImportError:没有名为'corsheaders'的模块

ImportError:没有名为 django.core.wsgi 的模块

Django 1.8:抛出 ImportError:没有名为“MySQLdb”的模块

django 管理员加载错误:/admin/login/ 处的 ImportError 没有名为后端的模块