pip3安装openpyxl成功,运行Python脚本报ImportError: No module named openpyxl
问题解决方法
问题原因
你安装依赖和执行脚本调用的是两个完全隔离的Python环境:
pip3对应系统里的Python3.10版本,openpyxl已经被安装到该版本的第三方库目录下- 你执行脚本时用的
python命令在macOS系统中默认调用的是自带的Python2.x版本,该版本下没有安装openpyxl,所以触发导入报错
解决方案
临时解决(最快生效)
直接用Python3命令执行你的脚本即可,替换原来的python为python3:
python3 -u "/Users/hectorv/zipcodes/zips.py"
长期方案(修改默认Python指向)
如果你希望后续直接输入python就调用Python3,可以修改shell配置:
- 如果你用的是zsh终端(macOS Catalina及以后版本默认终端),执行以下命令写入别名:
echo 'alias python="python3"' >> ~/.zshrc source ~/.zshrc
- 如果你用的是bash终端,执行以下命令:
echo 'alias python="python3"' >> ~/.bash_profile source ~/.bash_profile
通用规避方法
以后安装依赖时如果不确定对应版本,可以直接用当前调用的Python指令来安装依赖,保证环境匹配:
python -m pip install openpyxl
这样安装的包会直接对应你当前python命令指向的Python版本,不会出现版本不匹配的问题。
内容的提问来源于stack exchange,提问作者Hector
相关产品推荐
相关产品推荐

