求助:pandas.__version__在IDLE正常运行,脚本执行报AttributeError
解决pandas __version__调用差异的问题
这问题我碰过好多次啦,大概率是你脚本所在的目录里有和pandas重名的文件或文件夹,导致你导入的根本不是官方的pandas库!给你一步步排查和解决的方法:
先排查导入的pandas路径
在你的脚本里加两行代码,运行后看看输出:import pandas as pd print(pd.__file__)如果输出的不是你Python环境里
site-packages下的pandas路径(比如类似/usr/local/lib/python3.6/site-packages/pandas/__init__.py这种),而是你脚本所在目录的某个文件,那百分百是重名冲突了。解决重名问题
检查脚本所在的文件夹:- 有没有叫
pandas.py的自定义文件?有的话立刻改名(比如改成my_pandas_test.py),别和官方库重名 - 有没有叫
pandas的文件夹?如果里面还有__init__.py,也会被Python当成模块导入,要么改名要么删掉 - 别忘了删掉残留的
pandas.pyc字节码文件,不然Python还是会优先加载这个缓存文件
- 有没有叫
检查Python环境一致性
还有一种可能是:你运行脚本用的Python解释器和IDLE用的不是同一个!比如IDLE用的是Anaconda的Python,脚本却用了系统自带的Python,两个环境的pandas安装情况不一样。
验证方法:在IDLE和脚本里都运行下面的代码,对比路径是否一致:import sys print(sys.executable)如果不一样,就用IDLE对应的Python解释器来执行脚本(比如在终端里输入
/path/to/idle/python your_script.py)
按上面的步骤排查完,再运行脚本里的print(pd.__version__),应该就能正常显示0.22.0了!
内容的提问来源于stack exchange,提问作者Avinash Manoli
相关产品推荐
相关产品推荐

