【问题标题】: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

标签: python django python-3.x oauth django-cors-headers


【解决方案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 在 vi​​rtualenv 中安装了该软件包,但仍然无法正常工作。

          我尝试做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 文件夹。

          【讨论】:

            猜你喜欢
            • 2019-11-13
            • 2022-01-12
            • 2020-06-15
            • 2021-10-25
            • 1970-01-01
            • 1970-01-01
            • 2020-08-16
            • 2021-08-23
            • 1970-01-01
            相关资源
            最近更新 更多