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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章