centos下python多版本管理(pyenv+python+virtualenv+ipython)


pyenv是個多版本python管理器,可以同時管理多個python版本共存,如pypy,miniconde等等


1 環境准備 安裝相關軟件和pyenv
1.1 安裝相關軟件
yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs

1.1 克隆pyenv
git clone
https://github.com/yyuu/pyenv.git ~/.pyenv

1.2 設置相關環境變量,使pyenv生效
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
exec $SHELL -l

 

2 安裝python
2.1 常用pyenv操作
pyenv install --list 查看可安裝的python版本
pyenv install 3.5.0 安裝python3.5.0
pyenv uninstall //卸載

2.2 更新pyenv
安裝完之后,需要更新一下才能看到已經安裝的版本
pyenv rehash
pyenv versions //查看已經安裝好的版本,帶*號的為當前使用的版本

2.3 選擇python版本

pyenv global 3.5.0 //設置全局版本,即系統使用的將是此版本
pyenv local 3.5.0 //當前目錄下的使用版本,有點類似virtualenv

補充:網絡問題導致安裝緩慢或無法進行
如anaconda之類大容量的版本,由於網絡的問題,總是連接中斷,安裝失敗。此時可以先從官方網站下載安裝包,然后放在~/.pyenv/cache文件夾中,然后在pyenv install 此版本,pyenv會自動先從此文件夾中搜索


3 python virtualenv創建純凈虛擬環境
   雖然直接安裝pip安裝virtualenv也行,但是通過pyenv插件的形式安裝virtualenv的虛擬環境更加方便,因為之后的操作會比較方便。
3.1 安裝插件pyenv-virtualenv
參考文章:
http://www.tiny-coder.com/home-article-51.html
pyenv-virtualenv插件安裝:項目主頁:https://github.com/yyuu/pyenv-virtualenv
pyenv virtualenv是pyenv的插件,為UNIX系統上的Python virtualenvs提供pyenv virtualenv命令。

3.2 安裝virtualenv
git clone
https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
這個插件將安裝在主文件夾下的.pyenv文件夾中。

3.3 創建一個2.7.13的虛擬環境
pyenv virtualenv 2.7.13 py27
source ~/.bash_profile

這條命令在本機上創建了一個名為env271的python虛擬環境,這個環境的真實目錄位於:~/.pyenv/versions/
注意,命令中的 ‘2.7.13’ 必須是一個安裝前面步驟已經安裝好的python版本, 否則會出錯。
然后我們可以繼續通過 ‘pyenv versions’ 命令來查看當前的虛擬環境。

3.4 切換和使用新的python虛擬環境:
pyenv activate env271
這樣就能切換為這個版本的虛擬環境。通過輸入python查看現在版本,可以發現處於虛擬環境下了。
如果要切換回系統環境, 運行這個命令即可
pyenv deactivate
那如果要刪除這個虛擬環境呢? 答案簡單而且粗暴,只要直接刪除它所在的目錄就好:
rm -rf ~/.pyenv/versions/env271/
或者卸載:
pyenv uninstall env271

 

4 安裝ipython

centos7 已經帶有pip,不用安裝pip(在centos6 叫python-pip在centos7 叫pip
yum install python-pip
進入python環境后, 安裝ipython,若是python2+,需要指定ipython版本為ipython==1.2.1
pip install ipython

 

ps: 各個步驟的安裝腳本,這里的腳本安裝了python2.7.13和3.6.0,python安裝方式為先下載,在安裝

1 環境准備 安裝相關軟件和pyenv

#!/usr/bin/env bash
# 安裝相關軟件和pyenv 
yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs
# 克隆pyenv
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
# 導出環境變量,使pyenv生效
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
exec $SHELL -l

2 安裝python

#!/usr/bin/env bash

python2=2.7.13
python2_url="https://www.python.org/ftp/python/$python2/Python-${python2}.tar.xz"
python3=3.6.0
python3_url="https://www.python.org/ftp/python/$python3/Python-${python3}.tar.xz"

test -e ~/.pyenv/cache || mkdir -p ~/.pyenv/cache
cd ~/.pyenv/cache

if ! ls Python-${python2}.tar.xz &> /dev/null; then
    wget $python2_url
fi
pyenv install $python2 -v

if ! ls Python-${python3}.tar.xz &> /dev/null; then
    wget $python3_url
fi
pyenv install $python3 -v

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

3 python virtualenv創建純凈虛擬環境

 

#!/usr/bin/env bash

python2=2.7.13
python3=3.6.0
pyenv virtualenv $python2 py27
pyenv virtualenv $python3 py35
echo 'alias py27="pyenv activate py27"' >> ~/.bash_profile
echo 'alias py35="pyenv activate py35"' >> ~/.bash_profile
echo 'alias pyd="pyenv deactivate"' >> ~/.bash_profile
source ~/.bash_profile

 

4 安裝ipython

#!/usr/bin/env bash
# 使用py27進入python環境后,進行以下操作。
# py27
yum install python-pip
pip install ipython==1.2.1
#!/usr/bin/env bash
# 使用py35進入python環境后,進行以下操作。
# py35
yum install python-pip
pip install ipython


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM