Python Django错误ModuleNotFoundError:没有名为'corsheaders'的模块[关闭]
Posted
技术标签:
【中文标题】Python Django错误ModuleNotFoundError:没有名为\'corsheaders\'的模块[关闭]【英文标题】:Python Django error ModuleNotFoundError: No module named 'corsheaders' [closed]Python Django错误ModuleNotFoundError:没有名为'corsheaders'的模块[关闭] 【发布时间】:2019-07-16 13:53:34 【问题描述】:嘿,伙计们,当我安装了 corsheaders 时,我收到了以下错误,知道为什么我会收到以下错误消息,因为我没有想法。
installed:
Python 3.7.2
certifi==2018.11.29
chardet==3.0.4
Django==2.1.7
django-cors-headers==2.4.0
django-mssql==1.8
django-oauth-toolkit==1.2.0
djangorestframework==3.9.1
idna==2.8
oauthlib==3.0.1
pytz==2018.9
requests==2.21.0
urllib3==1.24.1
(Oauth) C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth>Scripts\python.exe mysite\manage.py runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x03AC8C48>
Traceback (most recent call last):
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 248, in raise_last_exception
raise _exception[1]
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\core\management\__init__.py", line 337, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\apps\registry.py", line 89, in populate
app_config = AppConfig.create(entry)
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\apps\config.py", line 90, in create
module = import_module(entry)
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'corsheaders'
【问题讨论】:
请发布您的 settings.py 文件。 检查coresheader
是否在Installed_Apps
中。
请检查您的settings.py
文件并检查INSTALLED_APPS
是否必须包含coresheader
【参考方案1】:
我遇到了同样的问题。如果“corsheaders”在您的 INSTALLED_APPS 中并且“corsheaders.middleware.CorsMiddleware”在您的 MIDDLEWARE 中,那么需要检查的是您的虚拟环境。
进入 /venv 文件夹并在 /site-packages 中查找“corsheaders”文件夹。
就我而言,我复制了我的项目文件夹,因此当我执行pip install django-cors-headers
时,它安装在原始项目的 venv 中。这可能就是 MichaelMountford 重新创建 venv 的原因。
【讨论】:
【参考方案2】:在我的情况下,即使我在 settings.INSTALLED_APPS 中有 corsheaders,我也遇到了同样的问题。我的问题的原因是,我没有运行虚拟环境,在我启动它之后,问题就消失了。 也许它会帮助任何人。
【讨论】:
【参考方案3】:这也可能是在corsheaders,
末尾添加,
而在INSTALLED_APPS
中添加它的情况。只需检查一次。
【讨论】:
【参考方案4】:您必须在您的settings.INSTALLED_APPS
中添加corsheaders
【讨论】:
它已经是,但我仍然不确定我对那个 Django 实例做了什么,我最终重新创建了我的项目并开始了它,它对我有用。【参考方案5】:原来我的虚拟环境已经损坏,必须重新创建,之后工作正常。
【讨论】:
请不要回答评论/问题。可以理解,您的代表太低而无法发表评论,但这并不意味着应该使用答案来使 cmets 作为替代方案。最好把它删掉。【参考方案6】:我遇到了同样的问题。想通了,由于某种原因,Python 在 venv/site-packages 中看不到文件夹“corsheaders”。所以我只是将 'corsheaders' 文件夹从 venv 复制到我的项目文件夹中,就像我的应用程序和 manage.py 属于同一级别的应用程序一样。 而且它似乎有效。
【讨论】:
【参考方案7】:我的项目中有这个问题ModuleNotFoundError: No module named 'corsheaders
。我确保我使用 pipenv install django-cors-headers
在 virtualenv 中安装了该软件包,但仍然无法正常工作。
我尝试做pipenv unistall corshearders
,然后重新安装,但没有成功。
主要问题(对我而言)
我意识到问题在于在我的 virtualenv 文件夹中。使用命令ls /home/youraccount/.local/share/virtualenvs/your-project-name-shUUxxdn3/lib/python3.8/site-packages/ | less
(基本上是您在virtualenv
中的site-packages
路径)在运行安装命令后,我去检查corsheaders
是否存在。令我惊讶的是,只有文件夹 django_cors_headers-3.7.0.dist-info
包含单词 cors
。
解决方案
对我来说,手动删除 django_cors_headers-3.7.0.dist-info
文件夹,删除 Pipfile.lock 并运行全新安装的 cors 包是有效的。之后我检查了site-packages
里面有corseheaders
文件夹和django_cors_headers-3.7.0.dist-info
文件夹。
【讨论】:
以上是关于Python Django错误ModuleNotFoundError:没有名为'corsheaders'的模块[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Python/Django 1.5 DatabaseWrapper 线程错误