Linux下Python版本切换工具pyenv的安装及使用

pyenv 使您可以轻松地在多个版本的 Python 之间切换。

Github 地址: pyenv/pyenv: Simple Python version management (github.com)

安装

github 方式安装:

# 当前版本 pyenv 2.2.4-1
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

如果 git 安装超时,可以手动下载安装:
下载地址:https://github.com/pyenv/pyenv/releases

# 解压包
unzip pyenv-master_2.2.4-1.zip
# 移动并重命名目录
mv pyenv-master ~/.pyenv

配置

安装构建 Python 的依赖

  • Ubuntu/Debian/Mint:
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
  • CentOS/Fedora 21 and below:
yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel

参考:Install Python build dependencies

Bash 扩展

可选项,编译一个动态 Bash 扩展来加速 Pyenv:

cd ~/.pyenv && src/configure && make -C src

配置环境变量

(Debian, Ubuntu, Mint)

# the sed invocation inserts the lines at the start of the file
# after any initial comment lines
sed -Ei -e '/^([^#]|$)/ {a \
export PYENV_ROOT="$HOME/.pyenv"
a \
export PATH="$PYENV_ROOT/bin:$PATH"
a \
' -e ':a' -e '$!{n;ba};}' ~/.profile
echo 'eval "$(pyenv init --path)"' >>~/.profile

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

(Red Hat, Fedora, CentOS)

sed -Ei -e '/^([^#]|$)/ {a \
export PYENV_ROOT="$HOME/.pyenv"
a \
export PATH="$PYENV_ROOT/bin:$PATH"
a \
' -e ':a' -e '$!{n;ba};}' ~/.bash_profile
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init --path)"' >> ~/.profile

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

配置完重启 shell 使配置生效。

使用

安装 Python

显示可安装的 Python 版本清单:

$ pyenv install --list

安装指定版本的 Python,如 3.6.13 :

$ pyenv install 3.6.13
$ pyenv rehash

Python 默认会安装在目录: “$(pyenv root)/versions/”

下载慢或下载出错处理:

  1. 手动复制下载地址下载, 如: https://www.python.org/ftp/python/3.6.13/Python-3.6.13.tar.xz;也可替换前缀使用镜像地址,如:https://cdn.npm.taobao.org/dist/python/3.6.13/Python-3.6.13.tar.xz
  2. 将下载的文件复制到 “~/.pyenv/cache” 目录;
  3. 重新执行安装命令:pyenv install 3.6.13

常用命令

# 设置全局默认 Python版本:
$ pyenv global 3.8.10

# 显示已安装的 Python
$ pyenv versions
  system
  3.6.13
  3.7.13
* 3.8.10

# 设置当前shell的 python版本,会设置当前shell的环境变量PYENV_VERSION
$ pyenv shell 3.7.13

# 清除PYENV_VERSION的版本设置
$ pyenv shell --unset

# 设置或者显示当前路径的 Python版本
$ pyenv local

# 卸载 Python
$ pyenv uninstall 3.8.10

更多命令参考:pyenv/COMMANDS.md at master · pyenv/pyenv (github.com)

升级 pyenv

cd $(pyenv root)
git pull

卸载

关闭 Pyenv 管理:
只要注释掉配置环境变量时写入 shell 启动配置的 pyenv init 即可。

完全卸载 pyenv:
移除安装时写入 shell 启动配置的行,然后删除目录:

rm -rf $(pyenv root)

注:当前 pyenv 版本为 2.2.4-1,如有变动见官方文档。

– END –

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值