MacOS Catalina升级后,如何解决zsh中Python命令行包无法运行问题?
解决MacOS Catalina切换到zsh后Python命令行工具无法调用的问题
我刚解决了和你一模一样的问题——升级到MacOS Catalina后,zsh默认取代bash,之前装的pipreqs、自定义本地Python包这些命令行工具全找不到了,切换回bash又能正常用。核心原因很简单:zsh不会自动加载bash的配置文件(.bash_profile),你之前在bash里配置的Python PATH根本没在zsh环境里生效。
先对应你的情况确认问题:
- 运行
echo "$PATH"发现zsh的PATH里完全没有/Library/Frameworks/Python.framework/Versions/3.8/bin和~/.local/bin这些关键目录 - 重新安装pipreqs时系统也明确提示:
The script pipreqs is installed in '/Library/Frameworks/Python.framework/Versions/3.8/bin' which is not on PATH
接下来直接上解决步骤,照着做就行:
- 打开你的bash配置文件:
open ~/.bash_profile - 同时打开zsh的配置文件:
open ~/.zshrc - 把
.bash_profile里所有和Python PATH相关的配置复制到.zshrc里,至少要包含这几行(根据你的配置调整):# Setting PATH for Python 3.8 PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}" export PATH # 支持本地安装的Python包 export PATH=$PATH:~/.local/bin # 其他需要保留的PATH配置(比如cargo)也一起复制 export PATH="$HOME/.cargo/bin:$PATH" - 保存
.zshrc文件 - 让配置立即生效(不用重启终端也能先测试):
source ~/.zshrc - 最后重启终端,现在再运行
pipreqs -h或者其他Python命令行工具,应该就能正常调用了。
可以验证一下:运行echo "$PATH" | tr : '\n',你会看到刚才添加的Python相关目录已经出现在PATH列表里了。
内容的提问来源于stack exchange,提问作者Destaq
相关产品推荐
相关产品推荐

