Pyenv 命令简述

Pyenv 命令简述


现在使用的ubuntu20.04使用不方便的地方在于。系统自带的是Python3.8,但是很多的框架使用的是Python3.7的版本。尽管我们可以自己编译Python3.7的版本,但是管理起来还是容易错误。于是试着尝试Pyenv版本管理工具。

Pyenv的安装

这里我们推荐使用快速安装

https://github.com/pyenv/pyenv-installer

使用

$ curl https://pyenv.run | bash

或者

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

再使用下面命令重启终端即可

$ exec $SHELL

一般来讲,快速安装不需要使用环境配置。如果终端输入pyenv提示找不到,那么进行一下后面的环境配置即可

普通安装

https://github.com/pyenv/pyenv

使用git下载pyenv的文件到.pyenv文件夹即可

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv

环境配置

  • 如果是 Ubuntu 的默认终端:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
    
  • 如果是 Zsh:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
    

打开你的.bashrc(如果使用的ubuntu默认终端)或者.zshrc(使用的是zsh),末尾加入以下内容

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

重启终端

exec "$SHELL"

升级Pyenv

pyenv update

Pyenv基本命令

https://github.com/pyenv/pyenv/blob/master/COMMANDS.md

pyenv commands

列出所有的pyenv命令

pyenv local

设置特定于本地应用程序的Python版本。此版本将覆盖全局版本

$ pyenv local 2.7.6

在没有版本号的情况下运行时,pyenv local报告当前配置的本地版本。您还可以取消设置本地版本:

$ pyenv local --unset

pyenv local (advanced)

您可以一次将多个版本指定为本地Python。

假设您有两个版本2.7.6和3.3.3。如果您更喜欢2.7.6而不是3.3.3,

$ pyenv local 2.7.6 3.3.3
$ pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3

或者,如果您更喜欢3.3.3而不是2.7.6,

$ pyenv local 3.3.3 2.7.6
$ pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
  venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3

pyenv global

设置要在所有Shell中使用的Python全局版本。

$ pyenv global 2.7.6

特殊版本名称system告诉pyenv使用系统Python(通过搜索进行检测$PATH)。

在没有版本号的情况下运行时,pyenv global报告当前配置的全局版本。

pyenv global (advanced)

您可以一次将多个版本指定为全局Python。

假设您有两个版本2.7.6和3.3.3。如果您更喜欢2.7.6而不是3.3.3,

$ pyenv global 2.7.6 3.3.3
$ pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3

或者,如果您更喜欢3.3.3而不是2.7.6,

$ pyenv global 3.3.3 2.7.6
$ pyenv versions
  system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
  venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3

pyenv shell

通过PYENV_VERSION 在终端中设置环境变量来设置特定于终端的Python版本。此版本覆盖特定于应用程序的版本和全局版本。

$ pyenv shell pypy-2.2.1

在没有版本号的情况下运行时,pyenv shell报告的当前值PYENV_VERSION。您还可以取消设置终端版本:

$ pyenv shell --unset

pyenv shell (advanced)

You can specify multiple versions via PYENV_VERSION at once.

Let’s say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,

$ pyenv shell 2.7.6 3.3.3
$ pyenv versions
  system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3

or, if you prefer 3.3.3 over 2.7.6,

$ pyenv shell 3.3.3 2.7.6
$ pyenv versions
  system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
  venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3

pyenv install

安装Python版本(using python-build).

Usage: pyenv install [-f] [-kvp] <version>
       pyenv install [-f] [-kvp] <definition-file>
       pyenv install -l|--list

  -l/--list             List all available versions
  -f/--force            Install even if the version appears to be installed already
  -s/--skip-existing    Skip the installation if the version appears to be installed already

  python-build options:

  -k/--keep        Keep source tree in $PYENV_BUILD_ROOT after installation
                   (defaults to $PYENV_ROOT/sources)
  -v/--verbose     Verbose mode: print compilation status to stdout
  -p/--patch       Apply a patch from stdin before building
  -g/--debug       Build a debug version

要列出Python的所有可用版本,包括Anaconda,Jython,pypy和less stack,请使用:

$ pyenv install --list

然后安装所需的版本:

$ pyenv install 2.7.6
$ pyenv install 2.6.8
$ pyenv versions
  system
  2.6.8
* 2.7.6 (set by /home/yyuu/.pyenv/version)

pyenv uninstall

卸载特定的Python版本。

Usage: pyenv uninstall [-f|--force] <version>

   -f  Attempt to remove the specified version without prompting
       for confirmation. If the version does not exist, do not
       display an error message.

pyenv version

显示当前活动的Python版本,以及有关如何设置的信息。

$ pyenv version
2.7.6 (set by /home/yyuu/.pyenv/version)

pyenv versions

列出pyenv已知的所有Python版本,并在当前活动版本旁边显示一个星号。

$ pyenv versions
  2.5.6
  2.6.8
* 2.7.6 (set by /home/yyuu/.pyenv/version)
  3.3.3
  jython-2.5.3
  pypy-2.2.1

pyenv which

显示运行给定命令时pyenv将调用的可执行文件的完整路径。

$ pyenv which python3.3
/home/yyuu/.pyenv/versions/3.3.3/bin/python3.3

pyenv whence

列出安装了给定命令的所有Python版本。

$ pyenv whence 2to3
2.6.8
2.7.6
3.3.3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章