pyenv和virtualenv用法

1. pyenv 多版本示意图

pyenv和virtualenv用法

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

10. 参考

上一篇:python 安装virtualenv和wxPython


下一篇:python基础篇17-虚环境