国内服务器安装pyenv和指定python版本大法

1,567 阅读1分钟

服务器以CentOS居多,故以CentOS安装python3.8.10版本举例。

安装pyenv

参照pyenv github项目首页的安装指南,使用git来clone pyenv的代码。如果服务器未安装git,通过yum install git安装即可。

  1. 先clone代码到服务器
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  1. 然后为pyenv设置shell脚本的环境
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
  1. 为了让PATH立即生效,通过执行exec "$SHELL"来重启shell

安装指定版本的python

  1. 在下载python安装包之前,咱们先给服务器安装待会build python需要的依赖。
yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
  1. 使用国内镜像下载python包(如果直接通过python官网下载会非常慢,网络环境你懂的),然后使用pyenv来构建和管理。
# 将v变量修改为你要安装的版本号
$ export v=3.9.10; wget https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/; pyenv install $v 

其实呢, Pyenv 下载各种 Python 的二进制程序包,都是会首先放到自己的这个 ~/.pyenv/cache 目录下面的。在需要下载什么文件之前, Pyenv 会先到这个目录找以前是否下载过了,如果已经下载好就直接使用这个目录里面对应的文件。