python目前有許多版本,特別是2和3的差別較大(雖然現在官方已經不再支持python2,但是仍然有很多項目使用python2)。一般一臺Linux或mac上,要開發或運行多個python項目,可能就需要切換多個不同版本的python。
pyenv可以很好地幫助你管理、切換多個python版本。
一、安裝方法
1、第一步是下載
一般下載到~/.pyenv目錄就好啦
<code>git clone https://github.com/pyenv/pyenv.git ~/.pyenv/<code>
2、第二步是環境配置
~/.bash_profile文件中添加:
<code>export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi/<code>
- 如果使用zsh而不是bash:以上配置代碼添加至~/.zshrc。
- 使用Ubuntu或者Fedora:以上配置代碼添加至~/.bashrc。
- 如果使用fish,使用 pyenv init - | source 替換 eval "$(pyenv init -)"。
3、第三步是配置生效
重新打開新的terminal就好啦~
如果需要在當前terminal中生效:
<code>source ~/.bash_profile/<code>
(可以把~/.bash_profile替換成你想生效的shell配置文件)
二、使用方法
1、安裝指定python版本
<code>pyenv install 3.7.1/<code>
注意:安裝指定python版本前,需要一些依賴,否則python無法編譯安裝哦。比如Mac OS安裝依賴:
<code>brew install openssl readline sqlite3 xz zlib/<code>
其他更多系統(Ubuntu、Debian、CentOS等)的依賴安裝方法見:https://github.com/pyenv/pyenv/wiki
2、使用指定的python版本
pyenv支持4種指定python版本的方法。優先級由高到低,依次為:
(1)PYENV_VERSION環境變量指定的python版本。pyenv shell命令可設置當前shell session下的PYENV_VERSION環境變量。
<code>pyenv shell 3.7.1/<code>
(2)當前目錄下.python-version文件中指定的python版本。
pyenv local命令可配置當前目錄下.python-version文件。<code>pyenv local 3.7.1/<code>
(3)最臨近的父目錄下的.python-version文件。pyenv會一層層目錄找上去,一直找到.python-version文件或者根目錄為止。
(4)~/.pyenv/version文件中指定的python版本。pyenv global命令可配置~/.pyenv/version中的python版本。
<code>pyenv global 3.7.1/<code>
如果以上4種方式均未指定,將使用系統中的python哦。
(俺使用 pyenv global 比較多~)
三、卸載方法
<code>rm -rf $(pyenv root)/<code>
這樣就能刪除pyenv及pyenv安裝的所有python版本啦,so easy~
各位觀眾~
如果想知道pyenv的工作原理,如果想知道pyenv下如何更好的管理virtualenv,且聽下回分解~
閱讀更多 聽風聲雨聲 的文章