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