經常遇到這樣的情況:
此時需要在系統中安裝多個python,但又不能影響系統自帶的python,即需要實現python的多版本共存。pyenv就是這樣乙個python版本管理器。
1
2
3
4
5
$ git
clone
git:
~/.pyenv
$
echo
'export pyenv_root="$home/.pyenv"'
>> ~/.bashrc
$
echo
'export path="$pyenv_root/bin:$path"'
>> ~/.bashrc
$
echo
'eval "$(pyenv init -)"'
>> ~/.bashrc
$
exec
$shell
-l
1
$ pyenv install --list
該命令會列出可以用pyenv安裝的python版本,僅列舉幾個:
1
2
3
4
2.7.8 # python 2最新版本
3.4.1 # python 3最新版本
anaconda-2.0.1 # 支援python 2.6和2.7
anaconda3-2.0.1 # 支援python 3.3和3.4
其中形如 x.x.x 這樣的只有版本號的為python官方版本,其他的形如 ***xx-x.x.x 這種既有名稱又有版本後的屬於「衍生版」或發行版。
在安裝python時需要首先安裝其依賴的其他軟體包,已知的一些需要預先安裝的庫如下。
在centos/rhel/fedora下:
1
2
3
4
sudo yum install readline readline-devel readline-
static
sudo yum install openssl openssl-devel openssl-
static
sudo yum install sqlite-devel
sudo yum install bzip2-devel bzip2-libs
使用如下命令即可安裝python 3.4.1:
1
$ pyenv install 3.4.1 -v
對於科研環境,更推薦安裝專為科學計算準備的anaconda發行版,pyenv install anaconda-2.1.0 安裝2.x版本, pyenv install anaconda3-2.1.0 安裝3.x版本;
安裝完成之後需要對資料庫進行更新:
1
$ pyenv rehash
1
2
$ pyenv versions
* system (set by /home/seisman/.pyenv/version)3.4.1
其中的星號表示當前正在使用的是系統自帶的python。
1
2
3
4
$ pyenv
global
3.4.1
$ pyenv versions
system
* 3.4.1 (set by /home/seisman/.pyenv/version)
當前全域性的python版本已經變成了3.4.1。也可以使用 pyenv local 或 pyenv shell 臨時改變python版本。
1
2
3
4
$ python
python 3.4.1 (
default
, sep 10 2014, 17:10:18)[gcc 4.4.7 20120313 (red hat 4.4.7-1)] on linux
type
"help"
,
,
"credits"
or
"license"
for
more information.
>>>
python多版本共存之pyenv
也許你開發中也會遇到需要不同版本的python,此時需要在系統中安裝多個,但又不能影響系統自帶的 python,即需要實現 python 的多版本共存。pyenv 就是這樣乙個 python 版本管理器 pyenv官方 git clone git pyenv echo export pyenv ro...
Python 多版本共存之 pyenv
經常遇到這樣的情況 系統自帶的 python 是 2.6,自己需要 python 2.7 中的某些特性 系統自帶的 python 是 2.x,自己需要 python 3.x 此時需要在系統中安裝多個 python,但又不能影響系統自帶的 python,即需要實現 python 的多版本共存。pyen...
多版本python共存
當不同版本python之間相互不能相容時,可以使用virtualenv建立不同版本python的虛擬環境 當沒有指定python直譯器時 如下 p 即為指定的python版本 將使用預設的全域性python直譯器建立虛擬環境 windows virtualenv p c python27 pytho...