pyenv local - 设置Python的本地版本

Sno*_*ash 4 python pyenv

关于如何为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
Run Code Online (Sandbox Code Playgroud)

小智 8

您需要先设置虚拟环境.例如,您可以创建一个名为ENV pyenv360通过

$ pyenv virtualenv 3.6.0 pyenv360
Run Code Online (Sandbox Code Playgroud)

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

$ cd my-folder
$ pyenv local pyenv360
Run Code Online (Sandbox Code Playgroud)

通过这样做,无论何时进入此文件夹,它都会在这种情况下开始使用pyenv360哪些引用python 3.6.0.

您可以检查它是否正常工作:

$ pyenv local
Run Code Online (Sandbox Code Playgroud)

哪个应该显示pyenv360.


iva*_*eev 5

(假设您pyenv按照官方说明进行安装。)

pyenv 识别两种 Python 安装:

  • system-- 来自 的 Python 可执行文件PATH,无论它们的版本如何
  • 编号版本 -- 安装pyenv install在下$PYENV_ROOT/versions

pyenv 认为以前的安装不受其控制,因此在查找特定版本时,它的命令不会考虑它们的版本。


要从pyenv的 POV 中找出您python3所指的是哪个安装,请检查

  • pyenv versions
    • 选择的Python 3版本是否为“系统”;或者
  • which python3pyenv which python3如果前者指向<pyenv root>/shims/
    • 结果是否指向外部 $PYENV_ROOT

如果您的 3.6.0 安装确实超出了pyenv的控制,您需要选择它pyenv local system并确保您自己PATH设置指向它。

  • 更具体地说,您PATH首先指向<pyenv_root>/shims然后指向正确的python3
    • 您可以使用它which -a python3来快速检查