Ubuntu从源代码安装Python 3.12.2


目录

[TOC]


安装依赖

sudo apt-get update
sudo apt-get install gdebi-core
sudo apt-get install \
    curl \
    gcc \
    libbz2-dev \
    libev-dev \
    libffi-dev \
    libgdbm-dev \
    liblzma-dev \
    libncurses-dev \
    libreadline-dev \
    libsqlite3-dev \
    libssl-dev \
    make \
    tk-dev \
    wget \
    zlib1g-dev

下载并解压

mkdir ./tmp
cd ./tmp
curl -O https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
tar -xvzf Python-3.12.2.tgz
cd Python-3.12.2
PYTHON_VERSION="3.12.2"

构建和安装Python

./configure \
    --prefix=/opt/python/${PYTHON_VERSION} \
    --enable-shared \
    --enable-optimizations \
    --enable-ipv6 \
    LDFLAGS=-Wl,-rpath=/opt/python/${PYTHON_VERSION}/lib,--disable-new-dtags
make
sudo make install

加入到PATH中

vim /etc/environment

在最后加上

:/opt/python/3.12.2/bin

像这样:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/python/3.12.2/bin"

建立软链接

ln -s /opt/python/3.12.2/bin/python3.12 /usr/bin/python3

验证Python安装

python3 -V
# root @ Ubuntu in /home/tmp/Python-3.12.2 [18:50:12] 
$ python3 -V
Python 3.12.2

安装pip

curl -O https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
如果报错externally-managed-environment那就尝试加一个--break-system-packages,也就是:
sudo python3 get-pip.py --break-system-packages

删除安装包与编译的临时目录

cd ../../ && rm -r ./tmp

最后重启即可使PATH生效

reboot
Last modification:November 15, 2024
V50%看看实力