此问题已在此处有答案:
Importing installed package from script with the same name raises "AttributeError: module has no attribute" or an ImportError or NameError(2个答案)
7个月前关闭。
我正在尝试运行我的脚本,但不断得到这个错误:
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)
我该怎么解决?
4条答案
按热度按时间nkhmeac61#
当有一个本地文件与导入的模块同名时,可能会发生这种情况- Python看到本地文件并认为它是模块。
在我的例子中,我在同一个文件夹中创建了一个名为
requests.py
的文件。所以我的代码实际上是导入该文件,而不是**您使用pip安装的实际requests
模块。然后我创建了一个名为logging.py
的文件。我重命名了这两个文件,问题得到了解决。ql3eal8s2#
确保文件的名称与您要导入的模块不相同-这会使Python认为存在循环依赖。
同时检查URL和你正在使用的包。“Most likely due to a circular import”指的是一个文件(模块),它依赖于其他东西,并且在它已经被导入的时候试图被导入。一旦它是正确的,你应该有这样的东西:
zhte4eai3#
我也得到了同样的错误。对我有效的是:我删除了虚拟环境,并进行了全新的安装。在我的情况下,一些模块被重复安装,我能够看到他们在venv/Lib文件夹,这是造成问题。
pdkcd3nj4#
在我的特殊情况下,这是安装vaex时的以下命令序列导致的:
修复方法: