导入xls2xlsx报缺currency-symbols但pip显示已安装如何解决
问题根因
- 核心问题是旧版本
xls2xlsx存在低级代码错误:currency-symbols是该依赖的PyPI安装名称(即pip install后接的包名),但Python语法不允许模块名包含横杠-,这个依赖实际安装到site-packages后的真实模块名是带下划线的currency_symbols。旧版xls2xlsx直接把安装名写进了导入语句,写成了非法的import currency-symbols,哪怕依赖已经正确安装,解释器也找不到对应模块。 - 低概率诱因:Spyder绑定的Python解释器和Anaconda Prompt中执行pip命令对应的解释器不匹配,不过你已经在对应site-packages目录下看到了两个包的文件夹,这种情况概率极低。
解决步骤
按优先级依次尝试即可:
- 升级xls2xlsx到修复了该导入错误的最新版本,在Anaconda Prompt中执行命令:
执行完成后完全关闭重启Spyder,再运行导入语句测试,绝大多数场景下这一步就能解决问题。pip install --upgrade xls2xlsx - 如果升级后仍然报错,直接手动修改本地安装的xls2xlsx源码修正错误:
- 进入路径
c:\users\user\miniconda3\lib\site-packages\xls2xlsx - 找到目录内的
xls2xlsx.py文件,用任意文本编辑器或直接拖进Spyder打开 - 全文搜索字符串
currency-symbols,将所有导入语句中出现的横杠替换为下划线,比如把错误的导入行修正为from currency_symbols import CurrencySymbols,保存文件后重启Spyder即可。
- 进入路径
- 若以上操作都无效,校验解释器匹配度:
在Spyder的IPython控制台执行以下代码,查看当前IDE调用的Python解释器路径:
如果输出路径不是Miniconda安装目录下的import sys print(sys.executable)python.exe,打开Spyder的设置-Python解释器配置页,手动选择Miniconda目录下的Python解释器,保存后重启IDE即可。
内容的提问来源于stack exchange,提问作者Davysseus
相关产品推荐
相关产品推荐

