天天看點

pyenv 環境構造多python環境

【背景】

centos 6.x系列預設的python環境是2.6.6 但是主流的python使用版本是python 2.7.x,并且有些開發django的環境,django版本1.8.x以上都需要python 3.x的版本,這個時候就很有必要多個python環境共存了,有一種管理python多版本的軟體 是pyenv 很好使用,使用簡單!

【系統環境】:

參考:

<a href="https://github.com/yyuu/pyenv#installation" target="_blank">https://github.com/yyuu/pyenv#installation</a>

我的環境是:

[root@master zhiliang.cui]# python -V

Python 2.6.6

[root@master zhiliang.cui]# cat /etc/issue | head -1

CentOS release 6.4 (Final)

[root@master zhiliang.cui]# 

【安裝步驟】

回到root家目錄

[root@master ~]# pwd

/root

下載下傳pyenv

<code>git clone https:</code><code>//github</code><code>.com</code><code>/yyuu/pyenv</code><code>.git ~/.pyenv</code>

結果: 多了一個.pyenv倉庫目錄

<code>[root@master ~]# ls  /root/.pyenv/    </code>

<code>CHANGELOG.md  COMMANDS.md  CONDUCT.md  LICENSE  Makefile  README.md  bin  completions  libexec  plugins  pyenv.d  shims  src  test  version  versions</code>

添加系統環境路徑(目的是可以直接找到pyenv 指令)

<code>echo</code> <code>'export PYENV_ROOT="$HOME/.pyenv"'</code> <code>&gt;&gt; ~/.bash_profile</code>

<code>echo</code> <code>'export PATH="$PYENV_ROOT/bin:$PATH"'</code> <code>&gt;&gt; ~/.bash_profile</code>

從新讀取檔案 目的是擷取新的環境變量

<code>source</code>  <code>/root/</code><code>.bash_profile</code>

<code>pyenv init</code> to your shell to enable shims and autocompletion

echo 'eval "$(pyenv init -)"' &gt;&gt; ~/.bash_profile

這個一定要執行,影響which python

結果:能找到pyenv環境變量了

<code>which</code> <code>pyenv</code>

/root/.pyenv/bin/pyenv

【安裝你需要的python版本】

檢視可以下載下傳的所有python版本

<code>pyenv </code><code>install</code> <code>--list</code>

安裝版本(我這裡安裝python 3.4.3版本)

<code>pyenv </code><code>install</code> <code>3.4.3</code>

檢視現有的版本

<code>pyenv versions</code>

切換指定版本

<code>pyenv global 3.4.3</code>

其實是改變了 /root/.pyenv/version 這個檔案中的内容

(系統退出從新進入後,可以檢視) 

檢查 系統已經預設使用的是3.4.3了

<a href="http://s5.51cto.com/wyfs02/M01/80/6E/wKioL1dBjhbyxiy2AAAb3Fv0SIc251.png" target="_blank"></a>

【可能對系統産生的影響】

1 yum 是依賴python的

[root@master ~]# cat /usr/bin/yum

#!/usr/bin/python

你如果yum有問題,有必要可以将#!/usr/bin/python 改成 #!/usr/bin/env python

兩個的差別如下:(差別還是指令的絕對路徑和PATH的關系問題)

<a href="http://s4.51cto.com/wyfs02/M00/80/70/wKiom1dBjoGQsOSKAABZ47jAGDA059.png" target="_blank"></a>

2

python安裝包的路徑已經在pyenv這個軟體控制版本的軟體下了

每個python版本的安裝軟體不能公用,pip list可以檢視已經安裝的軟體

<a href="http://s3.51cto.com/wyfs02/M00/80/70/wKiom1dBjwGD8gy0AABouY3NN5U106.png" target="_blank"></a>

本文轉自殘劍部落格51CTO部落格,原文連結http://blog.51cto.com/cuidehua/1775947如需轉載請自行聯系原作者

cuizhiliang