環(huán)境:CentOS-7-x86_64-Minimal-1708
Pyenv介紹
- 可以實(shí)現(xiàn)多版本Python并存
- 使用插件后艳汽,可以為不同的項(xiàng)目創(chuàng)建不同的虛擬環(huán)境
Pyenv安裝
- 安裝依賴
yum -y install gcc git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel
- 下載pyenv源代碼
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
- 添加環(huán)境變量
cat << "EOF" >> ~/.bashrc
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"
fi
EOF
source ~/.bashrc
- Done
安裝指定Python版本(以Python 3.6.3為例)
- 從國(guó)內(nèi)鏡像源下載Python指定版本
wget http://mirrors.sohu.com/python/3.6.3/Python-3.6.3.tar.xz -P ~/.pyenv/cache
- 安裝指定Python版本(
-v
表示顯示安裝過(guò)程猜年,可省略)
pyenv install 3.6.3 -v
- 切換pip鏡像源為國(guó)內(nèi)鏡像
- pyenv在安裝python的時(shí)候纲酗,已經(jīng)自動(dòng)將pip安裝好了
mkdir ~/.pip
cat << "EOF" >> ~/.pip/pip.conf
[global]
timeout = 6000
index-url = https://pypi.douban.com/simple
trusted-host = pypi.douban.com
EOF
- Done
Pyenv常用命令
- 查詢所有可以安裝的版本
pyenv install --list
- 安裝指定版本
- 建議按照上面的步驟,先從國(guó)內(nèi)鏡像下載然后再安裝刑赶,否則會(huì)非常慢甚至中斷
pyenv install 3.6.3
- 卸載指定版本
pyenv uninstall 2.7.13
- 顯示已安裝的所有版本
- 最前面帶
*
的表示當(dāng)前生效的版本
pyenv versions
- 顯示當(dāng)前生效的版本
pyenv version
- 設(shè)置全局(整個(gè)系統(tǒng)生效)Python版本
pyenv global 3.6.3
- 設(shè)置多個(gè)全局(整個(gè)系統(tǒng)生效)Python版本
- 后面的版本號(hào)排序有先后丸凭,在前表示默認(rèn)版本
# 方案1
pyenv global 3.6.3 2.7.13
# 方案1效果如下
python --version
Python 3.6.3
python3.6 --version
Python 3.6.3
python2.7 --version
Python 2.7.13
# 方案2
pyenv global 2.7.13 3.6.3
# 方案2效果如下
python --version
Python 2.7.13
python3.6 --version
Python 3.6.3
python2.7 --version
Python 2.7.13
- 設(shè)置局部(當(dāng)前目錄生效)Python版本
pyenv local 3.6.3
- 設(shè)置多個(gè)局部(當(dāng)前目錄生效)Python版本
- 后面的版本號(hào)排序有先后枯冈,在前表示默認(rèn)版本
# 方案1
pyenv local 3.6.3 2.7.13
# 方案1效果如下
python --version
Python 3.6.3
python3.6 --version
Python 3.6.3
python2.7 --version
Python 2.7.13
# 方案2
pyenv local 2.7.13 3.6.3
# 方案2效果如下
python --version
Python 2.7.13
python3.6 --version
Python 3.6.3
python2.7 --version
Python 2.7.13
- 取消設(shè)置局部(當(dāng)前目錄生效)Python版本
pyenv local --unset
pyenv-virtualenv(Pyenv插件)介紹
- 可以為不同的項(xiàng)目創(chuàng)建不同的虛擬環(huán)境
- 設(shè)置環(huán)境變量后苹威,可進(jìn)入指定目錄自動(dòng)激活虛擬環(huán)境
pyenv-virtualenv安裝
- 下載pyenv-virtualenv源代碼
git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
source ~/.bashrc
- 添加環(huán)境變量(進(jìn)入指定目錄自動(dòng)激活虛擬環(huán)境)
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv-virtualenv常用命令
- 基于指定版本創(chuàng)建虛擬環(huán)境(推薦)
pyenv virtualenv 3.6.3 venv_name
- 基于當(dāng)前版本創(chuàng)建虛擬環(huán)境(不推薦)
pyenv virtualenv venv_name
- 設(shè)置當(dāng)前目錄的虛擬環(huán)境(推薦)
- 若按照之前的步驟設(shè)置了環(huán)境變量昆咽,則會(huì)在進(jìn)入目錄后自動(dòng)激活虛擬環(huán)境
pyenv local venv_name
- 取消設(shè)置當(dāng)前目錄的虛擬環(huán)境(推薦)
pyenv local --unset
- 手動(dòng)激活虛擬環(huán)境(不推薦)
pyenv activate venv_name
- 手動(dòng)停用虛擬環(huán)境(不推薦)
pyenv deactivate venv_name
- 顯示所有已創(chuàng)建的虛擬環(huán)境
- 不一定已在當(dāng)前目錄激活
- 一個(gè)虛擬環(huán)境會(huì)顯示兩條記錄
pyenv virtualenvs
博客更新地址
- 宋明耀的博客 [ 第一時(shí)間更新 ]
- 知乎專(zhuān)欄 Python Cookbook
- 簡(jiǎn)書(shū) 流月0的文章