Python Django错误ModuleNotFoundError:没有名为“ corsheaders”的模块

时间:2019-02-22 12:52:47

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

嗨,我安装了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'

7 个答案:

答案 0 :(得分:0)

您必须在corsheaders中添加settings.INSTALLED_APPS

答案 1 :(得分:0)

就我而言,即使我在settings.INSTALLED_APPS中有corsheader,我也遇到了同样的问题。我遇到问题的原因是,我没有运行虚拟环境,所以在启动虚拟环境后问题就消失了。 也许对任何人都有帮助。

答案 2 :(得分:0)

原来,我的虚拟环境坏了,必须重新创建,然后才能正常工作。

答案 3 :(得分:0)

我有同样的问题。如果您的INSTALLED_APPS中包含“ corsheaders”,而您的MIDDLEWARE中包含“ corsheaders.middleware.CorsMiddleware”,则需要检查的是您的虚拟环境。

进入/ venv文件夹,然后在/ site-packages中查找“ corsheaders”文件夹。

对于我来说,我已经复制了项目文件夹,以便在完成pip install django-cors-headers时将其安装在原始项目的venv中。这就是为什么重新创建虚拟影片对MichaelMountford有用的原因。

答案 4 :(得分:0)

我有同样的问题。弄清楚了,由于某种原因,Python在venv / site-packages中没有看到文件夹“ corsheaders”。所以我只是将“ corsheaders”文件夹从venv复制到我的项目文件夹,就像一个与我的应用程序和manage.py属于同一级别的应用程序一样。 似乎可行。

答案 5 :(得分:0)

我的项目中有此问题 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(基本上是您的 site-packagesvirtualenv 的路径),我去检查 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 文件夹。

答案 6 :(得分:0)

这也可能是在将 , 添加到 corsheaders, 时错过了 INSTALLED_APPS 末尾的 @override Widget build(BuildContext context) { return CupertinoPageScaffold( child: SafeArea( child: CustomScrollView( slivers: <Widget>[ CupertinoSliverNavigationBar( backgroundColor: Colors.white, trailing: Icon(CupertinoIcons.add), largeTitle: Text('LargeTitle'), ), CupertinoSliverRefreshControl( onRefresh: () { print("Refresh was triggered"); return Future<void>.delayed(const Duration(seconds: 1)); }, ), SliverSafeArea( top: false, minimum: const EdgeInsets.only(top: 8), sliver: SliverList( // Use a delegate to build items as they're scrolled on screen. delegate: SliverChildBuilderDelegate( // The builder function returns a ListTile with a title that // displays the index of the current item. (context, index) => ListTile(title: Text('Item #$index')), // Builds 1000 ListTiles childCount: 1000, ), ), ), ], ), ), ); } 。只需检查一次。