如何将MacOS系统默认Python版本指向安装器/PIP安装的版本?
解决Python版本显示不一致的问题
问题根源
你的系统里同时存在Python 3.7.6和3.11两个版本,但终端的python命令默认指向了旧版本,而pip关联的是新版本路径,导致出现版本显示矛盾的情况。
分步解决
1. 确认Python 3.11是否正常安装
先在终端执行:
python3.11 --version
如果能显示Python 3.11.x,说明3.11确实安装成功,只是python命令没指向它。
2. 调整终端默认Python版本
根据操作系统不同,操作方式有区别:
Windows系统
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「用户变量」或「系统变量」里找到
PATH变量,点击编辑 - 找到Python 3.7的路径(类似
C:\Python37\和C:\Python37\Scripts\),把它们移到Python 3.11路径的后面;如果没看到3.11的路径,手动添加C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\和C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\Scripts\,并移到最顶部 - 保存后关闭所有终端窗口,重新打开再执行
python --version
macOS/Linux系统
- 先查看当前
python和python3.11的路径:which python which python3.11 - 临时生效:在终端直接输入别名命令:
执行后立即生效,但重启终端会失效。alias python='python3.11' - 永久生效:编辑shell配置文件(bash用户改
~/.bashrc,zsh用户改~/.zshrc),在末尾添加:
保存后执行alias python='python3.11'source ~/.bashrc(或source ~/.zshrc)使配置生效。 - Linux用户还可以用
update-alternatives管理版本:
然后按提示输入数字选择3.11即可。sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 2 sudo update-alternatives --config python
3. 让Poetry使用Python 3.11
Poetry默认会使用终端的默认Python版本,你可以手动指定:
# 为当前项目设置3.11环境 poetry env use python3.11 # 新建项目时直接指定3.11 poetry new my_project --python 3.11
执行后重新打开Poetry终端,它就会识别到3.11版本了。
4. 关于pip install python的说明
pip install python并不是用来安装Python解释器的,这个PyPI包只是一个占位符,它会检测系统中已安装的Python版本,所以会提示你已安装3.11。真正安装Python需要用官方安装器、brew(macOS)或apt/yum(Linux)这类工具。
内容的提问来源于stack exchange,提问作者Monty
相关产品推荐
相关产品推荐

