簡體   English   中英

如何修復 AttributeError:部分初始化的模塊?

[英]How to fix AttributeError: partially initialized module?

我正在嘗試運行我的腳本,但不斷收到此錯誤:

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)

我該如何解決?

當存在與導入模塊同名的本地文件時,就會發生這種情況——python 看到本地文件並認為它是模塊。

就我而言,我在同一個文件夾中創建了一個名為requests.py文件。 所以我的代碼實際上是導入該文件,不是您使用 pip 安裝的實際requests模塊。 然后我創建的一個名為logging.py的文件出現了另一個問題。 我重命名了這兩個文件,問題解決了。

確保文件名與你導入的模塊不同——這會讓 Python 認為存在循環依賴。

還要檢查 URL 和您正在使用的包。 “最有可能是由於循環導入”是指一個文件(模塊)依賴於其他東西並且在它已經被導入時試圖被導入。 一旦正確,你應該有這樣的東西:

import requests

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

# 200

在我的特殊情況下,這是由安裝vaex時的以下命令序列造成的

conda install pydantic[dotenv]
# This failed: "import vaex" so retried pip.
pip install pydantic[dotenv]
# On "import vaex", got error in OP.

和修復:

conda uninstall pydantic[dotenv]
pip install pydantic[dotenv] --force-reinstall
# Now "import vaex" worked perfectly.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM