簡介
pyenv 是一個開源的 Python 版本管理工具,可以輕松地給系統安裝任意 Python 版本,想玩哪個版本,瞬間就可以切換。有了 pyenv,我們不需要再為系統多版本 Python 共存問題而發愁,也不用為手動編譯安裝其他 Python 版本而浪費時間,只需要執行一條簡單的命令就可以切換并使用任何其他版本,該工具真正地做到了開箱即用,簡單實用。
virtualenv 是一個用來創建完全隔離的 Python 虛擬環境的工具,可以為每個項目工程創建一套獨立的 Python 環境,從而可以解決不同工程對 Python 包,或者版本的依賴問題。假如有 A 和 B 兩個工程,A 工程代碼要跑起來需要 requests 1.18.4,而 B 工程跑起來需要 requests 2.18.4,這樣在一個系統中就無法滿足兩個工程同時運行問題了。最好的解決辦法是用 virtualenv 給每個工程創建一個完全隔離的 Python 虛擬環境,給每個虛擬環境安裝相應版本的包,讓程序使用對應的虛擬環境運行即可。這樣既不影響系統 Python 環境,也能保證任何版本的 Python 程序可以在同一系統中運行。
最佳實踐:使用 pyenv 安裝任何版本的 Python,然后用 virtualenv 創建虛擬環境時指定需要的 Python 版本路徑,這樣就可以創建任何版本的虛擬環境,這樣的實踐真是極好的!
pyenv 的安裝及使用
1. 安裝
將 pyenv 安裝到 ~/.pyenv 目錄(當然你可以安裝到任意其他路徑)
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
配置環境變量(我的 Shell 是 zsh,如果是 bash,請添加到 ~/.bashrc)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrcecho 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
添加 pyenv 初始化(我的 Shell 是 zsh,如果是 bash,請添加到 ~/.bashrc)
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
使當前 Shell 配置生效,完成安裝
exec $SHELLsource ~/.zshrc
2. 使用
查看有哪些 Python 版本可以安裝
pyenv install --list
安裝某個 Python 版本
pyenv install -v 3.6.4
查看當前 Python 版本情況(* 表示系統當前的 Python 版本,system表示系統初始版本)
$ pyenv versions system 2.6.7* 3.6.4 (set by /Users/haohao/.pyenv/version)
切換 Python 版本(切換之后查看當前版本)
$ pyenv global 3.6.4$ pyenv versions system* 3.6.4 (set by /Users/haohao/.pyenv/version)$ python -VPython 3.6.4
卸載某個 Python 版本
pyenv uninstall 3.6.4
virtualenv 的安裝及使用
1. 安裝
sudo pip install virtualenv
2. 使用
下面我們使用 virtualenv 創建一個完全隔離的 Python 虛擬環境:
新聞熱點
疑難解答