# Linux 系统多 Python 版本管理与 pypy3 安装

在 linux 发行版中,通常会有多个版本的 python。比如 ubuntu 18 中,默认装了 python2、python3.6,而我平时工作用 python3.9 这就牵扯到多个版本管理的问题。

# 安装 Python3.9

# 先更新 apt-get
$ sudo apt update

# 安装 python 3.9
$ sudo apt install python3.9

# 建立 Python3 软链接

执行以下命令,将默认 python3 软链接指向 python 3.9

cd /usr/bin/
rm python3
ln -s python3.9 python3

这时,执行 $ python 进入 python2 环境,执行 $ python3 进入 python3.9 环境。

# 创建 Venv 虚拟环境

创建 venv 虚拟环境后,每次开发直接进入虚拟环境,即可直接使用 python / pip 等指令。

# 创建虚拟环境
$ python3 -m venv venv

# 进入虚拟环境
$ source ./venv/bin/activate 

# 退出虚拟环境
$ deactivate

# 更新 pip
(venv) $ pip install --upgrade pip
(venv) $ pip install -U setuptools

# 安装 pypy3

执行以下指令,安装pypy3

$ sudo add-apt-repository ppa:pypy/ppa
$ sudo apt update
$ sudo apt install pypy3

在安装过程中,出现报错如下:

cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)

该报错原因为 Python 版本不对,因为之前将 python3 软链接指向了 python 3.9 ,再此先还原回 python 3.6 版本,等安装成功后再重新指向 python 3.9。

$ cd /usr/bin/
$ rm python3
$ ln -s python3.6 python3