Centos 7.4 安装pyenv及使用说明

pyenv 是 Python 版本管理工具。 pyenv 可以改变全局的 Python 版本,安装多个版本的 Python。

pyenv 主要用来管理 Python 的版本,比如一个项目需要 Python 2.x ,一个项目需要 Python 3.x 。

pyenv 通过系统修改环境变量来实现 Python 不同版本的切换。

pyenv 它并没有使用将不同的 PATH植入不同的shell这种高耦合的工作方式,而是简单地在PATH 的最前面插入了一个垫片路径(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin。所有对 Python 可执行文件的查找都会首先被这个 shims 路径截获,从而使后方的系统路径失效。

首先提前安装好python依赖的库文件

sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

安装pyenv

mkdir ~/.pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv  
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc  
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(pyenv init -)"' >> ~/.bashrc  
exec $SHELL -l 

 

 

pyenv常用命令(常用命令说明见GitHubhttps://github.com/pyenv/pyenv/blob/master/COMMANDS.md)

使用 pyenv commands 显示所有可用命令

activate
commands
completions
deactivate
doctor
exec
global
help
hooks
init
install
installer
local
offline-installer
prefix
rehash
root
shell
shims
uninstall
update                 # 更新 pyenv 及插件
version
--version
version-file
version-file-read
version-file-write
version-name
version-origin
versions
virtualenv
virtualenv-delete
virtualenv-init
virtualenv-prefix
virtualenvs
whence
which

开始使用pyenv,先看看pyenv可以安装什么。(python几乎所有版本,activepython,anaconda,ironpython,jython,micropython,miniconda,pypy,pyston,stackless。真的有很多)

安装自己想安装的python版本,python3.4.5是我没有安装pyenv之前,安装的python版本,带*号的指系统当前所用的版本。(如果没安装成功,则可能是依赖库没安装好,可以去报错的那个网址(好像是github上的)去安装对应系统的依赖库

pyenv install -v 版本号

切换python版本

pyenv 可以从三个维度来管理 Python 环境,简称为: 当前系统 、 当前目录 、 当前shell 。这三个维度的优先级从左到右依次升高,即 当前系统 的优先级最低、 当前shell 的优先级最高。如果想修改系统全局的Python环境,可以采用 pyenv global PYTHON_VERSION 命令。该命令执行后会在 $(pyenv root) 目录(默认为 ~/.pyenv )中创建一个名为 version 的文件(如果该文件已存在,则修改该文件的内容),里面记录着系统全局的Python版本号。

global

版本直接切换

local

通常情况下,对于特定的项目,我们可能需要切换不同的Python环境,这个时候就可以通过 pyenv local PYTHON_VERSION 命令来修改 当前目录 的Python环境。命令执行后,会在当前目录中生成一个 .python-version 文件(如果该文件已存在,则修改该文件的内容),里面记录着当前目录使用的Python版本号。

可以看到python版本变成了2.7.15(之前~/.pyenv/version文件中的内容没有变),这就说明local的级别比global高,不管你global是什么版本,只要设置了local的版本,那就是local的版本。

退出local(退到了之前global的环境)

shell

通过执行 pyenv shell PYTHON_VERSION 命令,可以修改 当前shell 的Python环境。执行该命令后,会在当前 shell session (Terminal窗口)中创建一个名为 PYENV_VERSION 的环境变量,然后在 当前shell 的任意目录中都会采用该环境变量设定的Python版本。此时, global 和 local中设定的Python版本均会被忽略。

退出shell有两个方法,一个是重新打开一个shell,一个就是 pyenv shell --unset(退到了之前global的环境)

结束了。

源码页https://github.com/pyenv/pyenv

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值