使用pyenv管理python

一、安装管理工具Pyenv

Pyenv是Python多版本管理工具,由于Python2和Python3差异较大;而且公司大多Server自带的都是Python2.6或者Python2.7,当需要Python3环境的时候,如果直接卸载Python2,重装Python3,又会导致很多系统功能无法使用(例如Yum等);最好的情况就是使用Pyenv来进行多版本控制;

Pyenv的安装,如果Server可以连外网的情况下,自然很方便

git clone https://github.com/pyenv/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

但是公司Server一般无法连接外网;网上有很多离线安装脚本,要下载好几样,然后打包,使用安装脚本进行,我试了下总是报错;可能姿势不对;搞了一天才搞完

最后使用源文件方式安装成功,下面仅做记录和分享,以备以后查看

Step1:下载pyenv: Latest version,下载地址:https://github.com/pyenv/pyenv/releases/ 本次使用版本为pyenv-2.3.12.tar.gz 解压后重命名为:pyenv

Step2:将目录移动到/usr/local/

node-1 ~]# ls /usr/local/pyenv
bin    CHANGELOG.md  completions  Dockerfile  LICENSE   man      pyenv.d    shims  terminal_output.png  versions
cache  COMMANDS.md   CONDUCT.md   libexec     Makefile  plugins  README.md  src    test

Step3:配置环境变量

echo 'export PYENV_ROOT="/usr/local/pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc

Step4, 重新登陆后验证

pyenv]# pyenv --version
pyenv 2.3.12

二、离线安装特定python版本(以3.8.13版本为例)

在python安装前需首先安装运行所需依赖包,在配置yum源的系统中执行如下语句

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

Step1, 列出可安装的python版本pyenv install -l

例如我想安装: python 3.8.13版本,执行: pyenv install 3.8.13 ,由于在内网环境,会提示访问失败,但是可以根据这个获取到下载地址 https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tar.xz

使用pyenv管理python_第1张图片

Step2: 将Python-3.8.13.tar.xz下载后放到pyenv/cache目录下;

再次执行安装pyenv install 3.8.13 即可,若出现如下异常,可能是缺少关键依赖导致编译安装失败,则需根据提示查看编译失败原因。
使用pyenv管理python_第2张图片

若执行结果如下则表示安装成功

在这里插入图片描述

Step3: 验证已安装Python

pyenv]# pyenv versions
* system (set by /usr/local/pyenv/version)
  3.8.13

若需要安装其他版本则替换需安装的源码包即可

其他命令参考:

卸载python

pyenv uninstall 3.8.13

查看pyenv版本

pyenv --version

在这里插入图片描述

查看当前python版本

pyenv versions

在这里插入图片描述

查看当前使用的版本(system 代表当前系统的python 版本)

pyenv version

在这里插入图片描述

切换python版本

pyenv global 3.8.13

使用pyenv管理python_第3张图片

常见问题及解决方案:
在使用pyenv install安装python,可能会比较慢,甚至下载安装不成功

<1>.这时最好使用是下载好python源码包,然后通过pyenv进行安装(可以下载到境外云服务器)
<2>.将python源码包放置在~/.pyenv/cache/目录中(不要解压 ; 如没有cache就创建一个)
<3>.执行pyenv install 3.8.13

你可能感兴趣的:(python,git,开发语言)