Background
CentOS7に最新版のPython3をInstallする方法 のパート2。
ここではOSがUbuntu20.04
だった場合のPython3.9.4
をインストールする方法についてです。
Caution
注意点としては以下の通りです。
- Ubuntu20.04でデフォルトでgccをインストールするとバージョンは9.3
- インストールした後にコマンドパス
PATH
、共有ライブラリパスLD_LIBRARY_PATH
にパスを通す -
./configure
の実行高速化パラメータ--enable-optimizations
は使える -
./configure
で--enable-shared
を付けないとpip3 install mod_wsgi
するときにエラーになる。 -
/usr/share/pyshared/lsb_release.py
でsite-packages
にパスを通さないとpip
でパッケージをインストールするときにエラーになる
Development
# 必要なパッケージをインストール
apt-get install -y wget build-essential libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
# gccをインストール
apt-get install -y gcc
# python3.9.4 をインストール
wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tgz \
&& tar xzf Python-3.9.4.tgz \
&& cd Python-3.9.4 \
&& ./configure \
--with-ensurepip \
--enable-shared \
--enable-ipv6 \
--prefix=/usr/local/python3.9 \
--enable-optimizations \
&& make -j4 \
&& make altinstall
# パスを通す
ln -sf /usr/local/python3.9/bin/python3.9 /usr/bin/python3
ln -sf /usr/local/python3.9/bin/pip3.9 /usr/bin/pip3
ln -sf /usr/share/pyshared/lsb_release.py /usr/local/python3.9/lib/python3.9/site-packages/lsb_release.py
echo 'LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/python3.9/lib"' >> ~/.bashrc
echo 'PATH="$PATH:/usr/local/python3.9/bin"' >> ~/.bashrc
source ~/.bashrc
# pip をアップデート
pip3 install --upgrade pip