
現在、Debian 9 (stretch) では、標準のパッケージ管理(apt repository)で Python バージョンが 3.5 となります。
$ apt install python3 $ python3 -V Python 3.5.3
個人的に古いバージョンでしか使えないライブラリがあるため、この Python 3.5 の環境を残しつつ、新しいバージョンでしか使えないライブラリも用意したいので安定バージョン Python 3.9 の環境をソースから追加したいと思います。
準備
システムを最新の環境にしておきます。
$ sudo apt update $ sudo apt upgrade
Python 3.9 に必要なパッケージを事前にインストールします。
$ sudo apt install -y build-essential libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
Debian へ Python 3.9 のインストール
wget を使って公式サイトから最新の Python 3.9 ソースアーカイブをダウンロードします。
$ wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz --2022-04-26 11:33:38-- https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz Resolving www.python.org (www.python.org)... 2a04:4e42:1a::223, 151.101.108.223 Connecting to www.python.org (www.python.org)|2a04:4e42:1a::223|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 25787134 (25M) [application/octet-stream] Saving to: ‘Python-3.9.9.tgz’ Python-3.9.9.tgz 100%[===================>] 24.59M 6.28MB/s in 3.9s 2022-04-26 11:33:43 (6.28 MB/s) - ‘Python-3.9.9.tgz’ saved [25787134/25787134]
アーカイブの解凍
$ tar xzf Python-3.9.9.tgz
ソースのコンパイルです。prefix でのインストール先は、各自の環境を考慮して指定します。
$ cd Python-3.9.9/ $ ./configure --enable-optimizations --prefix=$HOME/.local --with-ensurepip=install
インストールします。既存の Python 3.5 環境を残しますので altinstall を指定します。
$ make altinstall
正常にインストールできましたでしょうか?
確認
$ python -V Python 3.5.3 $ python3 -V Python 3.5.3 $ python3.5 -V Python 3.5.3 $ python3.9 -V Python 3.9.9
pip の動作確認します。
$ pip list Package Version ------------- ------- pip 20.3.4 pkg-resources 0.0.0 RPi.GPIO 0.5.8 setuptools 33.1.1 wheel 0.37.1 $ pip3 list Package Version ------------- ------- pip 20.3.4 pkg-resources 0.0.0 RPi.GPIO 0.5.8 setuptools 33.1.1 wheel 0.37.1 $ pip3.5 list Package Version ------------- ------- pip 20.3.4 pkg-resources 0.0.0 RPi.GPIO 0.5.8 setuptools 33.1.1 wheel 0.37.1 $ pip3.9 list Package Version ---------- ------- pip 21.2.4 setuptools 58.1.0 websockets 10.3
以上です。
Was this helpful?
0 / 0