1. 程式人生 > >pyenv、virtualenv、virtualenvwrapper三種python多版本介紹

pyenv、virtualenv、virtualenvwrapper三種python多版本介紹

刷新 ges 根據 raw 方便 ims 名稱 wap 新的

今天有把此前接觸過的三種python實現多版本環境用到的軟件pyenv、virtualenv、virtualenvwrapper,了解了一番,現做如下總結:

一、pyenv:

是針對python多版本的管理,通過修改環境變量的方式實現;直接實現python多版本的虛擬環境並靈活切換;

安裝依賴git:

yum install git

安裝pyenv,根據提示設置環境變量:

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

把以下3行寫在~/.bash_profile文件裏:

export PATH="$PYENV_ROOT/bin:$PATH"

eval "$(pyenv init -)"

eval "$(pyenv virtualenv-init -)"

顯示能安裝的python版本:

pyenv install -list

顯示已安裝的所有python版本 :

pyenv versions

安裝python版本:

pyenv install python版本號

卸載python版本:

pyenv uninstall python版本號

使python版本成為全局python版本;

pyenv global python版本號

恢復系統全局默認的python版本:

pyenv global system

設置本地默認使用的python版本,可同時設多個用空格分隔:

pyenv local python版本號

設置當前虛擬python版本為系統默認的python版本:

pyenv local system

註意:local只是臨時生效,重啟什麽的會恢復系統版本,global永久生效,重啟後依然生效。

刷新版本包(每次安裝新版本時,執行一次,為所有已安裝的可執行文件創建 shims,如:~/.pyenv/versions/*/bin/*,因此,每當你增刪了 Python 版本或帶有可執行文件的包(如 pip)以後,都應該執行一次本命令):

pyenv rehash

設置面向shell的Python版本,通過設置當前 shell 的 PYENV_VERSION 環境變量的方式。這個版本的優先級比local和global都要高。–unset參數可以用於取消當前shell設定的版本;

pyenv shell python版本號

pyenv shell --unset

python版本不同環境的優先級:

shell > local > global

二、 virtualenv:

是針對python的包的多版本管理,隔離的是包,尤其是site-packages第三方包,使其創建幹凈的python版本,可使用-p python版本路徑,來指定虛擬環境使用的python版本;

實現python多版本,需要事先安裝多個python版本。

安裝vitualenv:

pip install virtualenv

進入要設置pyhton版本工作目錄:

cd python環境目錄

創建新的虛擬環境,--no-site-packages可省默認為不使用系統環境包:

virtualenv [-p python程序版本路徑 --no-site-packages] 虛擬環境名稱

切換不同的虛擬環境:

source 虛擬環境名稱/bin/activate

退出虛擬環境:

deactivate

刪除虛擬環境:

rm python環境目錄

三、virtualevnwapper:

對virtualenv的擴展是virtualenv的擴展包,是對virtualenv的封裝,可以方便的創建/刪除/拷貝/切換不同的環境;

實現python多版本,需要事先安裝多個python版本。

安裝必要依賴:

pip install virtualenv

安裝virtualevnwrapper:

pip install virtualenvwrapper

創建新的虛擬環境:

mkvirtualenv [-p python程序版本路徑] 虛擬環境名稱

列出所有虛擬環境:

lsvirtualenv -bworkon

進入當前環境的目錄,在環境裏執行:

cdvirtualenv

拷貝虛擬環境:

cpvirtualenv

刪除虛擬環境:

rmvirtualenv

切換不同的虛擬環境:

workon

退出虛擬環境:

deactive

pyenv、virtualenv、virtualenvwrapper三種python多版本介紹