1. 程式人生 > >python系列(五)centos6.x中部署多個python版本

python系列(五)centos6.x中部署多個python版本

python pyenv centos6.x virtualenv

博主QQ819594300

博客地址:http://zpf666.blog.51cto.com/

有什麽疑問的朋友可以聯系博主,博主會幫你們解答,謝謝支持!

使用pyenv+virtualenv方式部署python多版本

pyenvvs virtualenv

pyenv 是針對 python 版本的管理,通過修改環境變量的方式實現;

virtualenv 是針對python的包的多版本管理,通過將python包安裝到一個模塊來作為python的包虛擬環境,通過切換目錄來實現不同包環境間的切換。

pyenv原理

pyenv 的美好之處在於,它並沒有使用將不同的 $PATH 植入不同的 shell 這種高耦合的工作方式,而是簡單地在 $PATH 的最前面插入了一個墊片路徑(shims):

~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin。所有對Python 可執行文件的查找都會首先被這個 shims 路徑截獲,從而架空了後面的系統路徑。

pyenv 安裝使用 (安裝使用網絡yum源)

下面開始正式安裝:

1)確認一下系統版本

技術分享

2)安裝依賴包

技術分享

截圖中內容如下:

yum-y install gcc python-devel readline readline-devel readline-static opensslopenssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libspython-setuptools

技術分享

3)安裝pyenv

pyenv需要git工具,需要先安裝git工具

技術分享

pyenv提供了自動安裝的工具,執行命令安裝即可:

技術分享

截圖中地址如下:
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer| bash

還有一個網址,也是提供pyenv自動安裝的工具的,這兩個網站都一樣,用哪個都行。

curl -Lhttps://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

技術分享

安裝結束後,在結尾會出現上面這三行。

看是否安裝成功,執行下面的命令:

技術分享

如果返回的值是0,就表示安裝成功。

如果想手動安裝,可以執行此命令:

將 pyenv 檢出到你想安裝的目錄。建議路徑為:$HOME/.pyenv

$ cd

$ git clone git://github.com/yyuu/pyenv.git.pyenv

4)添加環境變量

技術分享

該目錄專用於當前用戶bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取

在末尾新增加以下幾行內容:

技術分享

截圖中內容如下:

export PYENV_ROOT="${HOME}/.pyenv"

if [ -d "${PYENV_ROOT}" ]; then

exportPATH="${PYENV_ROOT}/bin:${PATH}"

eval "$(pyenv init-)"

fi

添加完畢後,讓其立即生效:

技術分享

至此,pyenv安裝也就完成了,接下來看看都有哪些python版本可以安裝

技術分享

技術分享

技術分享

5)我們看一下,centos6.5默認安裝了什麽版本的python:

技術分享

從上圖可以看出,centos6.5默認安裝的是2.6.6版本。

那現在我們安裝一個3.6.1版本試一試:

技術分享

6)創建虛擬環境

技術分享

其中my-virtual-env-3.6.1是自定義的名稱,你也可以自己自定義。

7)列出當前虛擬環境

技術分享

8)激活虛擬環境

技術分享

9)激活虛擬環境後,需要執行下面命令,更新一下數據庫

技術分享

然後直接進入python查看:

技術分享

10)查看當前正在使用的版本

技術分享

註:其中的星號表示當前正在使用的版本

11)退出虛擬環境

技術分享

從上圖可以看出,我們真實環境依然是2.6.6版本,而虛擬環境裏面是3.6.1版本。

12)刪除虛擬環境

技術分享

出現一個?,輸入一個y,繼續執行即可。

如果想在兩個版本之間切換,在每次想使用3.6.1版本的時候就輸入:

pyenv activate my-virtual-env-3.6.1

再輸入python,就可以進3.6.1版本了。

不想用3.6.1版本了,就退出來,使用:

pyenvdeactivate命令就退出來了,可以使用我們的2.6.6版本。

如果不想那麽麻煩怎麽辦?

好辦,那就再創建一個虛擬環境,用來運行2.6.6版本。

技術分享

說明:若不指定python 版本,則默認使用當前環境python版本。

再看一下當前所有的虛擬環境:

技術分享

激活2.6.6虛擬環境:

技術分享

更新一下數據庫:

技術分享

至此,2.6.6和3.6.1的兩個虛擬環境都有了,現在開始更方便的切換:

技術分享

就只需要這兩條命令就可以在當前真實環境下來回的切換兩個版本了,是不是很方便呢。

額外增加一個知識點說明:

如果你只有3.6.1虛擬環境,而沒有創建2.6.6虛擬環境,當你執行:

pyenvlocal my-virtual-env-3.6.1

即:在當前環境下,切換了3.6.1版本,切換過來是沒有問題,主要是你想過沒有,當你想用2.6.6版本怎麽辦?切不回去了,因為沒有2.6.6虛擬環境,你執行不了:

pyenvlocal my-virtual-env-2.6.6這個命令,這時候你再去新創建一個2.6.6虛擬環境,已經來不及了,具體的解決辦法就是去~/.bashrc裏面把新增加那幾行刪除或註釋,然後刪除3.6.1虛擬環境,最後重啟系統即可真實環境恢復python2.6.6版本,然後你再把上面的實驗再來一遍,記住要創建兩個虛擬環境,這樣來回切換就很方便了。

本文出自 “IT技術助手” 博客,請務必保留此出處http://zpf666.blog.51cto.com/11248677/1922670

python系列(五)centos6.x中部署多個python版本