pyenv local - 尽管已经安装了Python版本,但不能通过它的编号来设置该版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyenv local - 尽管已经安装了Python版本,但不能通过它的编号来设置该版本相关的知识,希望对你有一定的参考价值。

有什么建议,如何设置pyenv的Python版本?

例如

$ python3
Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13) 
$ pyenv local
pyenv: no local version configured for this directory
$ pyenv local 3.6.0
pyenv: version `3.6.0' not installed
$ pyenv local v3.6.0:41df79263a11
pyenv: version `v3.6.0' not installed
答案

你需要先设置一个虚拟的env。例如,你可以创建一个名为 pyenv360

$ pyenv virtualenv 3.6.0 pyenv360

并将其设置为你的文件夹的默认python。my-folder

$ cd my-folder
$ pyenv local pyenv360

通过这样做,只要你进入这个文件夹,就会开始使用 pyenv360 其中提到 python 3.6.0 在这种情况下。

你可以通过以下方式检查它是否有效。

$ pyenv local

它应该显示 pyenv360.

另一答案

(假设你安装了 pyenv 根据官方说明)。)

pyenv 识别两种Python安装。

  • system -- Python可执行文件来自 PATH,无论其版本如何
  • 编号版本 -- -- 安装时有 pyenv install 在...之下 $PYENV_ROOT/versions

pyenv 认为前者不在其控制范围内,所以在查找特定版本时,其命令不会考虑其版本。


要找出哪个安装,从 pyenv的视角,你的 python3 指的是

  • pyenv versions
    • 选择的Python 3版本是否为 "system";或
  • which python3 (和 pyenv which python3 若前者指向 <pyenv root>/shims/)
    • 结果是否指向外部 $PYENV_ROOT

如果您的3.6.0安装确实是在 pyenv的控制,你需要用以下方法选择它 pyenv local system 并确保你自己的 PATH 被安排指向它。

  • 更具体地说,你的 PATH 第一点 <pyenv_root>/shims 然后到正确的 python3
    • 您可以使用 which -a python3 以快速检查

以上是关于pyenv local - 尽管已经安装了Python版本,但不能通过它的编号来设置该版本的主要内容,如果未能解决你的问题,请参考以下文章

pyenv 管理你的python版本

安装相同版本的pyenv和boost_python

virtualenv+pyenv管理python工作环境

尽管已安装 Python 模块,但未检测到它们

用pyenv管理Python多版本及下载加速方法--Mac上

python多版本和虚拟环境(pyenv+conda or virtualenv)