多Python版本环境下Python包安装及冗余版本清理咨询
解决Mac上Python环境的几个问题
1. 选pip3还是虚拟环境?
- 优先用虚拟环境,直接在全局环境装包会污染系统环境,后续不同项目依赖不同版本包时极易出问题。
- 如果只是临时安装工具类包(比如
youtube-dl这类),用pip3 install能凑合用,但长期开发的项目一定要用虚拟环境隔离。 - 你当前的
pip虽指向Python3,但brew管理的Python禁止直接用全局pip装包,所以才会提示“环境受外部管理”,直接用pip3或虚拟环境即可。
2. 如何创建虚拟环境?
用Python自带的venv模块就行,步骤简单:
- 进入项目目录:
cd /path/to/your/project - 创建虚拟环境:
python -m venv .venv(你的python已指向brew的3.13,直接用即可) - 激活虚拟环境:
source .venv/bin/activate - 激活后直接用
pip install,不用加3,安装的包都会存在当前项目的.venv目录里,不会影响全局环境
3. 清理冗余Python版本
- 自带的Python2.7别删,Mac系统部分组件仍依赖它,删除可能导致系统异常,你的PATH已优先调用Python3,不会默认触发2.7。
- 清理非brew安装的Python3:你当前
which python3返回的/Library/Frameworks/Python.framework/Versions/3.13/bin/python3是单独下载安装的版本,可删除:- 卸载该版本:
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.13 - 删除对应命令链接:
sudo rm -rf /usr/local/bin/python3.13 /usr/local/bin/pip3.13(如果存在的话)
- 卸载该版本:
- 操作后再运行
which python3,就会指向brew安装的版本,避免两个Python3冲突。
4. 路径配置优化
你已在~/.zshrc和/etc/paths添加了brew Python的路径,只要which python返回brew的3.13路径,就无需再调整。
内容的提问来源于stack exchange,提问作者lawsome
相关产品推荐
相关产品推荐

