1. pyenv 多版本示意圖
2. pyenv 用途
pyenv是管理python版本的工具。安裝pyenv后,可以管理各種python版本,並且各個版本的環境完全獨立,互不干擾。
3. 安裝pyenv
3.1 下載pyenv的代碼到~/.pyenv目錄下
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
3.2 添加環境變量
如果你用的是bash, 將以下環境變量添加到 ~/.bash_profile, 我用的是zsh,添加到的是 ~/.zshrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
3.3 啟動shell時,自動初始化pyenv
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
3.4 重新加載配置文件
source ~/.zshrc
3.5 安裝依賴項
yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel
3.6 查看版本
whereis pyenv
pyenv: /root/.pyenv/bin/pyenv
pyenv --version
pyenv 1.1.5-42-g435e362
4. pyenv的使用
4.1 查看當前使用的python版本
pyenv version
system (set by /root/.pyenv/version) # system表示系統安裝的版本
4.2 查看可安裝的版本列表
pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
...
4.3 安裝其他版本(以3.6.2為例)
pyenv install 3.6.2 # 安裝版本(很慢,默認的源很卡)
# 默認的安裝源很卡,建議用以下方式安裝:
v=3.6.2|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v # 用國內源安裝很快
4.4 查看已安裝的版本
pyenv versions
* system (set by /root/.pyenv/version)
3.6.2
4.5 將3.6.2作為當前使用版本
pyenv global 3.6.2 # 全局設置版本
# pyenv local 3.6.2 # 局部設置版本,當前目錄生效
pyenv versions
system
* 3.6.2 (set by /root/.pyenv/version)
4.6 卸載版本
pyenv uninstall 3.6.2
4.7 查看所有pyenv的指令
pyenv commands
5. virtualenv
virtualenv是python的虛擬化環境,用於管理python包,讓系統環境干凈。
5.1 安裝pyenv-virtualenv
5.1.1 下載代碼
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
5.1.2 配置自動激活
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
5.1.3 重新啟動shell
source ~/.zshrc
5.2 pyenv-virtualenv的使用
5.2.1 創建3.6.2版本的虛擬環境
pyenv virtualenv 3.6.2 py3.6.2
5.2.2 查看當前使用Python版本
pyenv versions
system
* 3.6.2 (set by /root/.pyenv/version)
3.6.2/envs/py3.6.2
py3.6.2
5.2.3 使3.6.2版本的虛擬環境生效
pyenv activate py3.6.2
5.2.4 退出虛擬環境
pyenv deactivate
5.2.5 刪除虛擬環境
rm -rf ~/.pyenv/versions/py3.6.2
5.3 pyenv和virtualenv總結
pyenv用來管理python自身的版本,virtualenv用來管理某個python環境下的包。
6. pip 生成和安裝requirements.txt
# 生成
pip freeze > requirements.txt
# 安裝
pip install -r requirements.txt