根据pandasgui docs,我尝试运行以下代码:
import pandas as pd
from pandasgui import show
df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]})
show(df)
但是,我得到一个错误:
ImportError: cannot import name '_c_internal_utils' from partially initialized module 'matplotlib' (most likely due to a circular import) (C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\matplotlib\__init__.py)
根据this的帖子,这似乎与pands和pandasgui import语句都使用相同的matploblib函数/模块引用有关,因此存在循环导入。
import pandas as pd
import pandasgui
df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]})
pandasgui.show(df)
但是我也会得到同样的错误。我该怎么解决呢?
我的python版本是3.11.4|由Anaconda,Inc.
我的pandas版本是2.03,它已经默认安装在我的anaconda环境中,我用Anaconda navigator更新了它。
我的pandasgui是0.2.14版本,我用pip install pandasgui
安装了它。我在Anaconda navigator中更新了索引,它也显示了0.2.14版本
2条答案
按热度按时间uhry853o1#
正如错误所暗示的,当两个或多个模块相互依赖时,我可以看到循环导入发生。这种相互依赖性创建了一个循环,Python无法很好地处理。
如果您安装了多个软件包或它们的不同版本,有时可能会出现软件包冲突。请尝试创建一个新的conda环境:
现在,在这个干净的环境中安装所需的软件包:
在这个新环境中运行代码。
有时候,这是一个特定版本的依赖库导致的问题。你可以尝试降级matplotlib,看看这是否解决了问题:
然后再次运行代码。
此外,确保您的所有软件包都是最新的:
sxpgvts32#
您遇到的
error
可能是由于pandas
和matplotlib
库之间的循环导入问题。要解决此问题:pip
重新编译pandasgui
库:matplotlib
库更新到最新版本:pandasgui
库:如果问题仍然存在,您可能需要考虑降级您的
matplotlib
版本