很快,我的一个运行得很好的脚本停止工作,抛出了一个
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
通过快捷键“Ctrl+Shift+P”检查您的Python解释器,然后输入“Python:选择解释器”以选择正确的Python解释器。
如果不起作用,请尝试命令
pip install requests
。
尤里卡!我终于找到答案了
正如预期的那样,这是一个相当局部的问题。该问题不仅限于我的机器,而且还特定于我的项目。我的项目目录中有一个子目录,我不假思索地命名为“requests”。给这个淘气的小罪魁祸首重新命名后,一切又开始运转了。
感谢@JRazor 为我指明了正确的方向。