ModuleNotFoundError:没有名为“requests.auth”的模块[重复]

问题描述 投票:0回答:2

很快,我的一个运行得很好的脚本停止工作,抛出了一个

ModuleNotFoundError:没有名为“requests.auth”的模块

我不记得更改过脚本使用的 Conda 环境。

有一天一切正常,第二天就停止了。我不知道哪个参数改变了。

我尝试了多种途径来寻找解决方案,但没有成功。其中包括:

  • 设置新的、清理Conda环境,肯定已安装请求

  • 清除 Visual Studio Code 的缓存

  • 多次重启

奇怪的部分是这样的:当我在 shell 的交互式会话中运行以下命令时,它起作用并且我收到“响应 [200]”。

当我在 Visual Studio Code 中的 Jupyter Notebook 或 .py 文件中运行它时,我收到上面提到的 ModuleNotFoundError。从命令行执行文件也是如此。

以上所有测试都是在同一个 Conda 环境中进行的,该环境肯定安装了 Requests

另外:它确实可以在我有权访问的虚拟环境中工作,我的 Visual Studio Code 设置已同步到该虚拟环境。那么也许不是 Visual Studio Code,而是我的机器本地的东西?

import requests
from requests.auth import HTTPBasicAuth

basic = HTTPBasicAuth('user', 'pass')

requests.get('https://httpbin.org/basic-auth/user/pass', auth=basic)

部分规格:

  • 操作系统:Windows 10

  • Python:3.12.2

  • 请求:2.31.0

  • 康达:24.1.2

python visual-studio-code python-requests conda
2个回答
0
投票

通过快捷键 Ctrl + Shift + P 检查您的 Python 解释器,然后输入“Python:选择解释器”以选择正确的 Python 解释器。

如果不起作用,请尝试命令

pip install requests


-1
投票

最终,问题的解决出乎意料地简单,并且源于一个根本性的用户错误。

该问题是由于项目文件夹中名为“requests”的子目录引起的。因此,当尝试使用

import requests
导入库时,导入的是子目录而不是预期的库。 缺乏必要的模块,这导致了
MouleNotFoundError

解决方案同样简单:重命名有问题的文件夹立即恢复导入过程的功能,从而恢复脚本。

注意:永远不要命名类似于现有库的东西

以下解决方案帮助我找到了我的问题:https://stackoverflow.com/a/36522445/21402820

© www.soinside.com 2019 - 2024. All rights reserved.