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