背景和价值
根据你的反馈,当前 python
命令指向的是虚拟环境 langchain-env
的路径(/Users/**/langchain-env/bin/python
),而非 pyenv
管理的版本。这说明你当前处于某个虚拟环境(如 virtualenv
/venv
/conda
)中,而虚拟环境会覆盖全局 Python 版本。以下是解决方案:
1. 退出当前虚拟环境
虚拟环境激活后,会优先使用其内部的 Python 版本。你需要手动退出:
deactivate
2. 如果未退出成功(无 deactivate
命令)
某些情况下(如直接激活脚本未提供 deactivate
),需手动清理环境变量:
删除或重命名虚拟环境目录:
rm -rf /Users/**/langchain-env
重新打开终端,确保 PATH
恢复默认。
3. 重新创建虚拟环境(可选)
若你需要使用虚拟环境,但希望其基于 pyenv
的 Python 3.11.6:
确认已退出旧环境:
deactivate
使用 pyenv
的 Python 3.11.6 创建新环境:
pyenv global 3.11.6 # 确保全局版本正确python -m venv my-new-env # 创建新虚拟环境source my-new-env/bin/activate # 激活新环境
检查新环境的 Python 版本:
python -V # 应显示 3.11.6
4. 检查 Shell 配置文件
若退出虚拟环境后仍指向错误路径,可能是 Shell 配置中自动激活了虚拟环境。检查以下文件:
~/.bashrc
~/.bash_profile
~/.zshrc
~/.profile
删除或注释掉类似以下代码:
source /Users/**/langchain-env/bin/activate
5. 验证 pyenv 的优先级
确保 pyenv
的路径在 PATH
变量中优先级最高:
echo $PATH
输出应类似:
/Users/your_user/.pyenv/shims:/usr/local/bin:/usr/bin:...
如果 pyenv
路径不在最前,回到 初始步骤 重新配置 Shell。
总结
执行后,python -V
应正确显示 3.11.6
。如果仍有问题,可提供完整终端输出进一步排查。