1. 程式人生 > >轉 Python多版本管理-pyenv

轉 Python多版本管理-pyenv

https://www.cnblogs.com/saneri/p/7642316.html

 

經常遇到這樣的情況:

系統自帶的Python是2.x,自己需要Python 3.x,此時需要在系統中安裝多個Python,但又不能影響系統自帶的Python,即需要實現Python的多版本共存,pyenv就是這樣一個Python版本管理器。

1.安裝pyenv:

複製程式碼
1.>安裝依賴包:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

2.>安裝pyenv包:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

3.>設定環境變數:

#vim ~/.bashrc 
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

#source ~/.bashrc #即是啟動語句,重啟系統執行這條語句 exec $SHELL
複製程式碼

2.檢視pyenv支援的python版本,同時也是檢驗有沒有安裝成功:

1 pyenv install  - - list

3.檢視當前pyenv可檢測到的所有版本,處於啟用狀態的版本前以 * 標示.

1 2 3 4 [[email protected] ~] # pyenv versions    system    3.5 . 1 *  3.5 . 3  (
set  by  / root / .pyenv / version)

4.檢視當前處於啟用狀態的版本,括號中內容表示這個版本是由哪條途徑啟用的(global、local、shell)

1 2 [[email protected] ~] # pyenv version    3.5 . 3  ( set  by  / root / .pyenv / version)

5.將3.5.1作為全域性變數,使用如下命令.

1 2 3 [[email protected] ~] # pyenv global 3.5.1 [[email protected] ~] # pyenv version 3.5 . 1  ( set  by  / root / .pyenv / version)

6.設定面向程式的本地版本,通過將版本號寫入當前目錄下的.python-version 檔案的方式。
 #在本地建立目錄ops,執行pyenv local 3.5.3後,只有在這個目錄是3.5.3的版本,別的目錄使用預設的版本.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [[email protected] ~] # python -V Python  3.5 . 1 [[email protected] ~] # pyenv versions    system *  3.5 . 1  ( set  by  / root / .pyenv / version)    3.5 . 3 [[email protected] ~] # [[email protected] ~] # mkdir ops [[email protected] ~] # cd ops/ [[email protected] ops] # pyenv local 3.5.3 [[email protected] ops] # python -V Python  3.5 . 3 [[email protected] ops] # cd .. [[email protected] ~] # python -V Python  3.5 . 1

7.安裝你需要的Python版本(如3.4.0):

1 2 3 pyenv install  3.4 . 0  - v   #小技巧,可以在/root/.pyenv/目錄下建立cache目錄,將下載好的Python-3.4.0的包放在該目錄下,就可以直接執行安裝,而不需要下載,節省下載時間.

8.安裝完成之後需要對資料庫進行更新:

1 pyenv rehash

9.解除安裝python 3.4.0版本.

1 pyenv uninstall  3.4 . 0

 

參考文件:

     http://www.jianshu.com/p/a23448208d9a

    http://www.360doc.com/content/16/0821/11/35455208_584738668.shtml

    http://www.linuxidc.com/Linux/2017-02/140201.htm