Pyenv + virtualEnv 設置python
安裝這兩個組件是爲了適應不一樣版本的python在同一個系統下的運行;
例如如今最明顯就是python2.7和python3.6的兩個版本,不少庫依舊是使用了
Python2.7 但官方推薦的python3.6 固然不支持python2.7 的仍是比較少的;兩個版本是之間斷層的,3.6 不兼容2.7的,沒辦法,只能這樣來。git
1,安裝pyenv
1)安裝依賴庫github
yum install git
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2)安裝pyenvsql
mkdir ~/.pyenv git clone git://github.com/yyuu/pyenv.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
3)pyenv 命令總結
詳細列表:https://github.com/yyuu/pyenv/blob/master/COMMANDS.md#command-referenceshell
經常使用命令以下:
- pyenv versions:查看當前 pyenv 可檢測到的全部版本,處於激活狀態的版本前以 * 標示。
- pyenv version:查看當前處於激活狀態的版本,括號中內容表示這個版本是由哪條途徑激活的(global、local、shell)
- pyenv install:使用 python-build(一個插件) 安裝一個 Python 版本,到 $PYENV_ROOT/versions 路徑下。建議添加 -v 參數用於顯示細節。python-build 會首先嚐試從一個鏡像站點下載包,此時能夠去 /tmp/python-build.xxx 裏面關心一下下載速度
- pyenv uninstall:卸載一個版本
- pyenv rehash:爲全部已安裝的可執行文件 (如:~/.pyenv/versions//bin/) 建立 shims,所以,每當你增刪了 Python 版本或帶有可執行文件的包(如 pip)之後,都應該執行一次本命令
- pyenv global:設置全局的 Python 版本,經過將版本號寫入 ~/.pyenv/version 文件的方式。
- pyenv local:設置面向程序的本地版本,經過將版本號寫入當前目錄下的 .python-version 文件的方式。經過這種方式設置的 Python 版本優先級較 global 高。pyenv 會從當前目錄開始向上逐級查找 .python-version 文件,直到根目錄爲止。若找不到,就用 global 版本。
- pyenv shell:設置面向 shell 的 Python 版本,經過設置當前 shell 的 PYENV_VERSION 環境變量的方式。這個版本的優先級比 local 和 global 都要高。–unset 參數能夠用於取消當前 shell 設定的版本。bash
2,安裝pyenv-virtual
pyenv virtualenv是pyenv的插件,爲UNIX系統上的Python virtualenvs提供pyenv virtualenv命令。python2.7
1)安裝pyenv-virtualui
$git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv $echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile $source ~/.bash_profile
2)實戰例子
(1)查看可下載python版本spa
pyenv install –list
(2)安裝3.5.3 python 版本插件
pyenv install –v 3.5.3
(3)查看全部版本
Pyenv versions
(4)利用virtualenv 建立3.5.3 python 環境
Pyenv virtualenv 3.5.3 env353
(5)切換到pyenv 虛擬環境
Pyenv activate env353
(6)離開環境,切換回系統環境
Pyenv deactivate
(7)刪除虛擬環境
Pyenv virtualenv-delete env353