轉 Python多版本管理-pyenv
阿新 • • 發佈:2018-11-10
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