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