pyenv 是Python多版本管理工具,支持在一個環(huán)境中安裝多個版本的Python腳本,并可以快速切換。
1 安裝
pyenv-installer 是pyenv的一體化安裝工具,通過這個工具安裝出來的pyenv,除自身外,還帶有update、installer、virtualenv等插件。
其自身包括3個工具:在線安裝、離線安裝、離線安裝包下載,都是基于Linux進行安裝的。
安裝場景分為兩種:可連接公網(wǎng)和不可連接公網(wǎng)。
1.1 可連接外網(wǎng)場景
- 直接使用在線安裝腳本pyenv-installer運行即可
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
Tips:安裝前可以先通過設(shè)置PYENV_ROOT變量,來決定安裝到哪個位置,缺省在“~/.pyenv”。
- 內(nèi)網(wǎng)可在配置代理服務(wù)器后進行在線安裝
export http_proxy=xxxx
export https_proxy=yyyy
export no_proxy=aaaa,bbbb
1.2 不可連接外網(wǎng)場景
在線安裝腳本實際是下載了以下幾個庫到本地。
https://github.com/pyenv/pyenv.git ${PYENV_ROOT}
https://github.com/pyenv/pyenv-doctor.git ${PYENV_ROOT}/plugins/pyenv-doctor
https://github.com/pyenv/pyenv-installer.git ${PYENV_ROOT}/plugins/pyenv-installer
https://github.com/pyenv/pyenv-update.git ${PYENV_ROOT}/plugins/pyenv-update
https://github.com/pyenv/pyenv-virtualenv.git ${PYENV_ROOT}/plugins/pyenv-virtualenv
https://github.com/pyenv/pyenv-which-ext.git ${PYENV_ROOT}/plugins/pyenv-which-ext
1.2.1 源碼安裝
最簡單的方式就是自己下載好上面幾個庫后放到指定位置。并且配置以下幾個環(huán)境變量
echo 'export PYENV_ROOT="/usr/local/pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
1.2.2 離線安裝
可以將下載好的源碼打包成“pyenv-package.tar.gz”,并配置PYENV_PACKAGE_ARCHIVE環(huán)境變量指向該文件所在目錄路徑,再執(zhí)行離線安裝腳本pyenv-offline-installer即可。
2 安裝Python版本
2.1 查看可安裝Python版本
pyenv install -l
2.2 在線安裝Python版本
pyenv install 2.7.18
2.3 離線安裝Python版本
在線安裝Python版本是直接從python官方網(wǎng)站下載。但由于國內(nèi)網(wǎng)絡(luò)問題,經(jīng)常會下載不下來來,可以通過離線安裝的方式進行下載。具體做法為:
- 在國內(nèi)Python鏡像網(wǎng)站上下載鏡像包,如北交大的https://mirror.bjtu.edu.cn/python/。
- 將下載下來的.tar.xz文件放在${PYENV_ROOT}/cache目錄下。
- 再執(zhí)行“pyenv install <version>”
3. site-packages目錄
對于直接在操作系統(tǒng)上安裝的Python,site-packages缺省位置都在/etc/python2.x或者python3.x。但通過pyenv安裝的Python并未使用這個缺省位置,而在${PYENV_ROOT}/versions/<version>/site-packages。