Rob*_*ino 10 python version pyenv
使用以下命令安装 python 版本:
$ pyenv install 3.8.9
Installed Python-3.8.9 to /Users/robino/.pyenv/versions/3.8.9
Run Code Online (Sandbox Code Playgroud)
列出现在可用的 python 版本:
$ pyenv versions
* system
3.8.2
3.8.9
Run Code Online (Sandbox Code Playgroud)
一周过去了,我忘记了它安装在哪里。现在假设我想获取 3.8.9 版本的可执行路径。以下内容不起作用:
$ pyenv which 3.8.9
pyenv: 3.8.9: command not found
$ pyenv which python 3.8.9
(gives path to system 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
Run Code Online (Sandbox Code Playgroud)
我发现的解决方法是设置 python 版本,检查,然后将其设置回系统:
$ pyenv local 3.8.9
$ pyenv which python
/Users/robino/.pyenv/versions/3.8.9/bin/python
$ pyenv local --unset
Run Code Online (Sandbox Code Playgroud)
然而,这是一个次优的解决方案,因为它要求之前没有设置本地。
使用 pyenv 打印当前未使用版本的 python 可执行路径的正确命令是什么?
Bas*_*mer 13
默认情况下,可以在 中找到 pyenv 可执行文件$(pyenv root)/versions/{VERSION}/bin/python。我不知道有哪个命令显示除pyenv which python.
如果您想通过命令获取路径,另一个选择是创建一个临时子目录并在那里设置本地 pyenv 解释器:
$ mkdir tmp; cd tmp
$ pyenv local 3.8.9
$ pyenv which python
/Users/robino/.pyenv/versions/3.8.9/bin/python
$ cd ..; rm -r tmp
Run Code Online (Sandbox Code Playgroud)
由于更深的目录优先于本地 pyenv 版本,因此父目录在这种情况下不会干扰。
另一种选择是临时设置全局 pyenv 版本,因为这不需要设置本地 pyenv 版本。但我不喜欢这样,因为我可能会忘记将其设置回原来的值;)
tom*_*000 11
我稍微简化了它,并且该命令在子命令中运行,应该不受副作用影响。
echo $(pyenv shell 3.9.15; pyenv which python)
# /Users/tomy0000000/.pyenv/versions/3.9.15/bin/python
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21067 次 |
| 最近记录: |