使用pyenv和pyenv-virtualenv完美隔離Linux下的python版本。
第1章:使用環境
註意:本文是在Linux和Mac OS X下進行的,不涉及windows下的安裝和使用。
清單
飯桶
Bash,zsh或brew
pyenv
pyenv-virtualenv
1,安裝git
在主要的Linux發行版下安裝git非常簡單,這裏只展示了壹些例子。
archlinux
sudo pacman -S git
debian/ubuntu
sudo安裝git
摘錄
sudo yum安裝git
蘋果個人計算機
brew安裝git
2.打開終端
在Ubuntu下使用shell
Ctrl+Alt+t快捷鍵打開終端。
3.安裝pyenv
註:本文所有安裝嚴格遵循官方文件,與官方文件完全壹致。
git源地址:github.com/pyenv/pyenv
在終端中執行以下命令以完成安裝:
首先,克隆這個項目,並把它放在您的主目錄中的壹個隱藏文件夾中:。pyenv。
git clone /pyenv/pyenv.git ~/。pyenv
如果您是Mac用戶,可以使用brew命令來安裝它。
brew更新
brew安裝pyenv
然後配置環境變量:
如果您使用bash,請依次執行以下命令:
echo 'export PYENV_ROOT="$HOME/。pyenv " ' & gt& gt~/.bashrc
echo ' export PATH = " $ PYENV _ ROOT/bin:$ PATH " ' & gt;& gt~/.bashrc
echo -e 'if命令-v pyenv 1 & gt;/dev/null 2 & gt;& amp1;thenn eval " $(pyenv init-)" NFI ' & gt;& gt~/.bashrc
如果使用zsh,請依次執行以下命令:
echo 'export PYENV_ROOT="$HOME/。pyenv " ' & gt& gt~/.zshrc
echo ' export PATH = " $ PYENV _ ROOT/bin:$ PATH " ' & gt;& gt~/.zshrc
echo -e 'if命令-v pyenv 1 & gt;/dev/null 2 & gt;& amp1;thenn eval " $(pyenv init-)" NFI ' & gt;& gt~/.zshrc
如果您使用Mac,請執行以下命令:
echo -e 'if命令-v pyenv 1 & gt;/dev/null 2 & gt;& amp1;thenn eval " $(pyenv init-)" NFI ' & gt;& gt~/.bash_profile
echo命令意味著將引號中的內容寫入文件。
請註意,上面三個echo命令的最後壹個命令,請確保其引號內的內容在~/的底部。bashrc或者~/.zshrc。
因為path環境變量會在pyenv初始化過程中被操縱,從而導致不可預知的行為。
要查看文件的底層內容,可以使用tail命令,用法:tail ~/。bashrc還是尾巴~/。zshrc,您可以使用vim或vscode來編輯該文件。
然後,在使用pyenv之前,您需要初始化shell環境並執行以下命令。
Exec $SHELL或source ~/。bashrc
您也可以關閉當前的終端窗口並重新啟動壹個。
4.安裝pyenv-virtualenv。
來源git地址:github.com/pyenv/pyenv…
克隆剛剛安裝的pyenv的plugins文件夾中的插件。
git clone/pyenv/pyenv-virtualenv . git $(pyenv root)/plugins/pyenv-virtualenv
如果您是Mac用戶,可以使用brew命令來安裝它。
brew安裝pyenv-virtualenv
然後配置環境變量。
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
如果您使用bash,請執行以下命令:
echo ' eval " $(pyenv virtualenv-init-)" ' & gt;& gt~/.bashrc
如果您使用zsh,請執行以下命令:
echo ' eval " $(pyenv virtualenv-init-)" ' & gt;& gt~/.zshrc
最後,在使用pyenv之前,重新初始化shell環境並執行以下命令。
Exec $SHELL或source ~/。bashrc
或者重新啟動終端窗口。
如果沒有錯誤,此時已經完成了所有的安裝操作。如果提示錯誤,請檢查上壹篇文章中的= = path = = and = = environment variable = =(請檢查是否使用了系統環境對應的命令)是否配置正確,或者回退操作,重新執行安裝命令。
第2章:使用pyenv
這裏只顯示pyenv和pyenv-virtualenv的日常使用情況。
檢查安裝是否正確。
檢查pyenv的版本
pyenv版本
查看pyenv托管了哪些python版本。
pyenv版本
如果顯示正常版本信息,則安裝成功,如果顯示類似“找不到命令”的提示,則安裝失敗。請檢查第壹章末尾的提示。
安裝python版本3.6.6。
pyenv安裝3.6.6
這裏需要註意的是,在某些情況下,安裝會失敗,構建會失敗。
不要慌,我們可以在github wiki查看pyenv準備的應對方案,原地址是github.com/pyenv/pyenv…
摘錄如下,只需要執行相應的命令:
Archlinux用戶
sudo pacman-S base-devel OpenSSL zlib
Mac用戶
brew安裝openssl readline sqlite3 xz zlib
如果您使用的是OS X Mojave或更高版本(10.14+),您需要執行該命令。
sudo安裝程序-pkg/Library/Developer/command line tools/Packages/MAC OS _ SDK _ headers _ for _ MAC OS _ 10.14 . pkg-target/
Ubuntu/Debian/Mint用戶
sudo apt-get install-y make build-essential libssl-dev zlib 1g-dev libbz 2-dev libreadline-dev libsqlite 3-dev wget curl llvm libncurses 5-dev xz-ut ils tk-dev libxml 2-dev libxmlsec 1-dev libffi-dev
CentOS/Fedora & lt;= 21用戶,請確保已經安裝了xz工具。
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel SQLite SQLite-devel OpenSSL-devel tk-devel libffi-devel
Fedora & gt= 22用戶,請確保已經安裝了xz工具。
sudo dnf install-y gcc zlib-devel bzip2 bzip2-devel readline-devel SQLite SQLite-devel OpenSSL-devel tk-devel
OpenSUSE用戶
zypper install gcc automake OpenSSL-devel ncurses-devel readline-devel zlib-devel tk-devel
Solus用戶
sudo eopkg it -c system.devel
sudo eopkg安裝git gcc make zlib-devel bzip2-devel readline-devel SQLite 3-devel OpenSSL-devel tk-devel
Linuxbrew用戶
brew安裝bzip2 openssl readline sqlite xz
安裝這些輔助工具後,再次執行:
pyenv安裝3.6.6
妳可以成功。可以不斷使用pyenv版本查看pyenv托管的python版本,多個版本之間不會有沖突,非常完美。
執行pyenv install,然後按tab鍵查看所有可選安裝版本。
如何使用已安裝的版本創建虛擬環境
pyenv和pyenv-virtualenv之間的合作可以理解為:
Pyenv托管已安裝的python版本,而python-virtualenv調用相應的python版本。
以下是如何創建和使用虛擬環境
1.創建虛擬環境
首先,您需要創建壹個虛擬環境並執行命令:
pyenv virtualenv 3.6.6 my-env
最後壹個是環境名,可以隨意取。成功安裝將顯示:
在鏈接中查找:/tmp/tmp0eywgc7v
要求已經滿足:setuptools在/home/vic/中。pyenv/versions/3 . 6 . 6/envs/my-env/lib/python 3.6/site-packages(39 . 0 . 1)
要求已經滿足:pip in /home/vic/。pyenv/versions/3 . 6 . 6/envs/my-env/lib/python 3.6/site-packages(10 . 0 . 1)
它聲明了虛擬環境的絕對路徑。
2.激活虛擬環境
在任何目錄中,執行以下命令:
pyenv激活my-env
復制終端命令行前面的代碼,會出現壹個提示符(my-env)。進入python環境,可以看到為虛擬環境設置的3.6.6版本。使用pip - version查看pip包安裝的絕對路徑。
使用終端輸入任何目錄,例如~/envtest。
cd ~/envtest
然後在此目錄中執行:
pyenv本地my-env
您還可以激活創建的虛擬環境並執行:
ls -al
本地命令和前面命令的區別在於~/envtest目錄中有壹個隱藏文件。將創建python-version,文件內容只包含壹句話,my-env。只要使用終端進入~/test目錄,虛擬環境就會自動激活。
使用以下兩個命令之壹退出虛擬環境
Pyenv停用#或
源停用
3.刪除虛擬環境
久而久之,妳可能會積累很多虛擬環境。您可以使用命令刪除虛擬環境。
Pyenv uninstall my-env或rm -rf my-env直接刪除虛擬環境所在的目錄。
第3章:更新pyenv
如果是用git克隆的,用git pull命令更新。
Cd ~/。pyenv或cd $(pyenv根)
git拉取來源主機
Mac用戶使用brew命令
brew升級pyenv
第4章:卸載pyenv
因為pyenv把所有東西都放在~/下面。pyenv,Linux下卸載分兩步。
刪除環境變量
執行:rm -rf ~/。pyenv或rm -rf $(pyenv根)
Mac用戶卸載需要brew命令:
brew卸載pyenv