当前系统默认的Python版本
[root@localhost ~]# python -V
Python 2.6.6
pyenv的命令,可以通过pyenv help查看
[root@localhost ~]# pyenv help
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
使用 pyenv install --list 查看可以安装的python版本
[root@localhost ~]# pyenv install --list
Available versions:
2.1.3
2.2.3
.........
2.7.4
2.7.5
.........
3.0.1
3.1
.........
3.6.1
3.6.2
.........
3.7.1
3.8-dev
查看当前pyenv可检测到的所有版本,处于激活状态的版本前以 * 标示.
[root@localhost ~]# pyenv versions
* system (set by /root/.pyenv/version)
使用pyenv install <version> 安装python,可以使用-v参数,查看安装过程。
如下, 分别安装三个版本的python
[root@localhost ~]# pyenv install -v 2.7.5
[root@localhost ~]# pyenv install -v 3.1
[root@localhost ~]# pyenv install -v 3.6.1
查看当前pyenv可检测到的python版本 (即pyenv当前安装了哪些python版本)
[root@localhost ~]# pyenv versions
* system (set by /root/.pyenv/version)
2.7.5
3.1
3.6.1
查看当前pyenv使用的python版本 (注意是version, 而不是上面的versions)
[root@localhost ~]# pyenv version
system (set by /root/.pyenv/version)
配置及管理python版本
pyenv管理python版本的三个基础命令(即使用下面三个命令的途径进行python版本的切换和激活状态):
- pyenv global <version> // 配置当前用户的系统使用的python版本. 可以使用这个命令进行python版本的切换!
- pyenv shelll <version> // 配置当前shell的python版本,退出shell则失效
- pyenv local <version> // 配置所在项目(目录)的python版本
特别注意:
在使用上面pyenv三个基础命令进行python版本切换后:
如果想要切回到系统默认的python版本, 也就是这里默认的python2.6.6, 则需要下面命令进行切回操作!!!!!!
[root@localhost p_b]# pyenv local system
[root@localhost p_b]# python -V
Python 2.6.6
下面分别介绍下pyenv这三个基础命令切换python���本的操作
a) 使用pyenv global <version>配置当前用户的系统使用的python版本
[root@localhost ~]# pyenv versions
* system (set by /root/.pyenv/version)
2.7.5
3.1
3.6.1
[root@localhost ~]# python -V
Python 2.6.6
使用下面命令进行python版本的切换
[root@localhost ~]# pyenv global 3.6.1
[root@localhost ~]# pyenv versions
system
2.7.5
3.1
* 3.6.1 (set by /root/.pyenv/version)
[root@localhost ~]# python -V
Python 2.6.6
需要执行下面命令进行数据库更新后, pyenv切换的python版本才会生效!
[root@localhost ~]# pyenv rehash
[root@localhost ~]# python -V
Python 3.6.1
[root@localhost ~]# which python
/root/.pyenv/shims/python
b) 使用pyenv shelll <version>配置当前shell的python版本,退出shell则失效
[root@localhost ~]# python -V
Python 3.6.1
[root@localhost ~]# pyenv versions
system
2.7.5
3.1
* 3.6.1 (set by /root/.pyenv/version)
[root@localhost ~]# pyenv shell 2.7.5
[root@localhost ~]# python -V
Python 2.7.5
如上设置后, 只在当前shell终端窗口有效, 退出重新登录 或 再打开另外一个窗口就不生效了 (即pytho版本还是之前的)
即使执行"pyenv rehash" 进行更新操作, 在别的shell窗口也是不生效的!
当前shell下,取消配置的使用python shell --unset;若退出此shell,配置也会失效。
[root@localhost ~]# pyenv shell --unset
[root@localhost ~]# python -V
Python 3.6.1
c) 使用pyenv local <version>配置所在项目(目录)的python版本
新建一个文件夹~/project,在此文件夹下使用python local <version>
[root@localhost ~]# python -V
Python 3.6.1
[root@localhost ~]# mkdir project
[root@localhost ~]# cd project/
[root@localhost project]# pyenv local 3.1
[root@localhost project]# pyenv versions
system
2.7.5
* 3.1 (set by /root/project/.python-version)
3.6.1
在当前项目目录下查看python版本
[root@localhost project]# python -V
Python 3.1
新建目录~/project/p_a,切换到~/project/p_a,并查看版本
[root@localhost project]# mkdir p_a&& cd p_a
[root@localhost p_a]# python -V
Python 3.1
[root@localhost p_b]# cd /root/
[root@localhost ~]# python -V
Python 3.6.1
如上可知, 第三种命令操作后, 切换的python版本只能在当前所在项目目录下生效!
在其他目录下就不会生效了!!
=============================================
如果要想卸载掉pyenv安装的python版本, 就使用"pyenv uninstall <version>" 命令
[root@localhost ~]# pyenv versions
system
2.7.5
3.1
* 3.6.1 (set by /root/.pyenv/version)
[root@localhost ~]# pyenv uninstall 3.1
pyenv: remove /root/.pyenv/versions/3.1? y
[root@localhost ~]# pyenv versions
system
2.7.5
* 3.6.1 (set by /root/.pyenv/version)
接下来稍微深入的了解下pyenv是如何进行python版本管理的?