如何修复 AttributeError:部分初始化模块?

新手上路,请多包涵

我正在尝试运行我的脚本,但不断收到此错误:

 File ".\checkmypass.py", line 1, in <module>
  import requests
line 3, in <module>
  response = requests.get(url)
AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import)

我该如何解决?

原文由 Karthik Bhandary 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

确保文件的名称与您正在导入的模块不同——这会让 Python 认为存在循环依赖。

还要检查 URL 和您正在使用的包。 “很可能是由于循环导入”指的是一个文件(模块)依赖于其他东西并且在它已经被导入时试图被导入。一旦它是正确的,你应该有这样的东西:

 import requests

r = requests.get("http://google.com")
print(r.status_code)

# 200

原文由 Rojin 发布,翻译遵循 CC BY-SA 4.0 许可协议

当存在与导入模块同名的本地文件时,可能会发生这种情况——Python 看到本地文件并认为它是模块。

就我而言,我在同一文件夹中创建了一个名为 requests.py 的文件。所以我的代码实际上是在 导入那个文件,而 不是 你用 pip 安装的实际 requests 模块。然后,我创建的名为 logging.py 的文件出现了另一个问题。我重命名了这两个文件,问题就解决了。

原文由 Eugene 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏