如何使用pyenv查看已安装未启用的Python版本可执行文件路径?
如何用pyenv获取未启用Python版本的可执行文件路径?
先还原问题场景:
安装Python 3.8.9:
$ pyenv install 3.8.9 Installed Python-3.8.9 to /Users/robino/.pyenv/versions/3.8.9
查看当前可用的Python版本:
$ pyenv versions * system 3.8.2 3.8.9
后续需要获取3.8.9的可执行文件路径,尝试多个命令均失败:
$ pyenv which 3.8.9 pyenv: 3.8.9: command not found $ pyenv which python 3.8.9 (返回系统Python的路径) $ pyenv which python-3.8.9 pyenv: python-3.8.9: command not found $ pyenv which Python-3.8.9 pyenv: Python-3.8.9: command not found
临时解决方法是先设置本地版本、查看路径再恢复,但该方法依赖于之前未设置过本地版本,有局限性:
$ pyenv local 3.8.9 $ pyenv which python /Users/robino/.pyenv/versions/3.8.9/bin/python $ pyenv local --unset
正确命令
有两种更简洁且无副作用的方式:
- 利用环境变量指定版本后执行
pyenv which
直接通过PYENV_VERSION环境变量临时指定要查询的版本,无需修改本地/全局配置:
$ PYENV_VERSION=3.8.9 pyenv which python /Users/robino/.pyenv/versions/3.8.9/bin/python
- 使用
pyenv prefix获取版本根目录pyenv prefix命令会直接返回指定Python版本的安装根目录,拼接/bin/python即可得到可执行文件路径:
$ pyenv prefix 3.8.9 /Users/robino/.pyenv/versions/3.8.9
对应的可执行文件路径为:$(pyenv prefix 3.8.9)/bin/python
内容的提问来源于stack exchange,提问作者Robino
相关产品推荐
相关产品推荐

