pyenv 与 virtualenv 安装,Python 版本管理使用教程
目录
pyenv是Python版本管理工具。 pyenv可以
- 安装多个版本的 Python
- 改变全局的 Python 版本
- 设置目录级别的 Python 版本
- 创建和管理 virtual python environments
所有的设置都是用户级别的操作,不需要sudo命令。
pyenv的美好之处在于,它并没有使用将不同的PATH植入不同的shell这种高耦合的工作方式,而是简单地在PATH的最前面插入了一个垫片路径(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin
。所有对Python可执行文件的查找都会首先被这个垫片路径(shims)路径截获,从而使后方的系统路径失效。
开始
不同系统请参考Common build problems,安装必须的工具。
安装
pyenv 提供了自动安装的工具,需要系统已经安装git,执行命令安装即可:
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
使用
pyenv
查看本机安装 Python 版本 使用如下命令查看本机安装版本
pyenv versions
星号表示当前正在使用的 Python 版本。使用 python -V 确认版本。
查看可安装 Python 版本 使用如下命令查看可安装版本
pyenv install -l
Python 版本切换
pyenv shell 2.7.3 # 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。–unset 参数可以用于取消当前 shell 设定的版本。
pyenv global 2.7.3 # 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
pyenv local 2.7.3 # 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。
pyenv shell --unset # 取消设置,恢复默认
pyenv global --unset # 取消设置,恢复默认
pyenv local --unset # 取消设置,恢复默认
优先级 shell > local > global
pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。
刷新pyenv垫片路径
pyenv rehash # 创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令)
pyenv-virtualenv
使用自动安装 pyenv 后,它会自动安装部分插件,通过 pyenv-virtualenv 插件可以很好的和 virtualenv
创建虚拟环境
pyenv virtualenv 2.7.10 env-2.7.10 # pyenv virtualenv 基于2.7.10版本 创建名称为env-2.7.10的虚拟环境
列出当前虚拟环境
pyenv virtualenvs
进入、退出虚拟环境
pyenv activate env-name # 进入虚拟环境
pyenv deactivate #退出虚拟环境,回到系统环境
删除虚拟环境
pyenv uninstall my-virtual-env
rm -rf ~/.pyenv/versions/my-virtual-env # 或者删除其真实目录