Django:ImportError:没有名为' corsheaders'

时间:2017-11-09 22:34:54

标签: django python-3.x cors pip

在我的第一个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。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

答案 2 :(得分:0)

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

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

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