Change uWSGI Python Version from Default to Specific

Introduction

在本篇文章中將說明如何在 Ubuntu 20.04 中:

  1. 更新 Python 預設版本(3.8 -> 3.10)。
  2. 更新 uWSGI 預設 Python 版本。

Steps

Install Python 3.10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Install Python 3.10
$ sudo apt update
$ sudo apt -y upgrade
$ sudo apt -y install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt install python3.10 python3.10-dev

# Update Python default version from 3.8 to 3.10
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2
$ sudo update-alternatives --config python
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
$ sudo update-alternatives --config python3

Install PIP

1
$ curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10

在安裝完畢後,會在 ~/.local/bin/ 下多出:

  • pip
  • pip3
  • pip3.10

可以在重新 source ~/.bashrc 以及 ~/.profile 後,輸入 $ echo $PATH 來確認 ~/.local/bin/ 是否在 /usr/bin 之前,例如:

1
2
3
4
$ source ~/.bashrc
$ source ~/.profile
$ echo $PATH
/home/<user>/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Install uWSGI

1
$ pip3 install uwsgi

在安裝完畢後,uWSGI 執行檔會在 ~/.local/bin/uwsgi

Update uWSGI

1
2
$ sudo mv /usr/local/bin/uwsgi /usr/local/bin/uwsgi.bkp
$ sudo mv ~/.local/bin/uwsgi /usr/local/bin/uwsgi