01 前言
Python现有的版本多,每个项目使用的Python版本都不一样,管理起来比较麻烦。github有一个项目叫做pyenv,它是一个多版本管理工具,非常好用,不但支持多版本,而且可以自由切换。本文以CentOS7平台为例,演示pyenv的功能。
本文转自我个人的公众号:天目星 ,请大家多多关注。
一、安装
pyenv的项目地址:https://github.com/pyenv/pyenv
PS:安装pyenv前需要安装相关依赖包
$ yum install zlib zlib-devel sqlite-devel
$ yum install openssl openssl-devel
$ yum install bzip2-devel bzip2 bzip2-libs
$ yum install readline readline-devel
安装方式如下:
联网情况下直接安装
$ curl https://pyenv.run | bash
#
或者使用以下仓库安装
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
安装完毕后提示如下
# Load pyenv automatically by adding
# the following to ~/.bashrc:
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
我们按要求配置.bashrc文件
$ cat >>~/.bashrc <
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
EOF
$ source ~/.bashrc
二、使用
pyenv命令如下
$ pyenv
Some useful pyenv commands are:
commands 列出所有可用的pyenv命令
local 设置或显示本地的python版本
global 设置或显示全局的python版本
shell 设置或显示特定于shell的Python版本
install 使用python-build安装Python版本
uninstall 卸载特定的python版本
rehash 刷新pyenv缓存,用于安装或卸载重载pyen
version 显示当前使用的python版本
versions 显示所有可用的python版本
which 显示可执行文件的完整路径
whence 列出包含给定可执行文件的所有Python版本
使用pyenv安装python 3.6.4
$ pyenv install -t 显示可以安装的版本列表
$ pyenv install 3.6.4
Downloading Python-3.6.4.tar.xz...
-> https://www.python.org/ftp/python/3.7.3/Python-3.6.4.tar.xz
Installing Python-3.6.4...
Installed Python-3.6.4 to /root/.pyenv/versions/3.6.4
刷新pyenv数据库
$ pyenv rehash
查询现有的python版本(标*表示正在使用的版本)
$ pyenv versions
* system (set by /root/.pyenv/version)
3.6.4
使用pyenv设置全局的python版本
$ pyenv global 3.6.4
$ pyenv versions
system
* 3.6.4 (set by /root/.pyenv/version)
使用pyenv卸载python 3.6.4
$ pyenv uninstall 3.6.4
pyenv: remove /root/.pyenv/versions/3.6.4? y
使用pyenv插件管理虚拟环境
显示virtualenv所有的环境
$ pyenv virtualenvs
3.6.4/envs/env-3.6.4 (created from /root/.pyenv/versions/3.6.4)
创建新的virtualenv环境
$ pyenv virtualenv 3.6.4 env-3.6.4
$ pyenv virtualenvs
3.6.4/envs/env-3.6.4 (created from /root/.pyenv/versions/3.6.4)
env-3.6.4 (created from /root/.pyenv/versions/3.6.4)
删除virtualenv环境
$ pyenv uninstall env-3.6.4
pyenv-virtualenv: remove /root/.pyenv/versions/3.6.4/envs/env-3.6.4? y