容器基础镜像ubuntu:22.04 安装python3.12

发布于:2025-07-06 ⋅ 阅读:(14) ⋅ 点赞:(0)

以下是在已经进入 ubuntu:22.04 容器内部后手动安装python3.12的步骤:

1、安装编译依赖

apt update && apt install -y \
    build-essential \
    zlib1g-dev \
    libncurses5-dev \
    libgdbm-dev \
    libnss3-dev \
    libssl-dev \
    libreadline-dev \
    libffi-dev \
    libbz2-dev \
    libncursesw5-dev \
    libsqlite3-dev \
    libdb5.3-dev \
    libexpat1-dev \
    liblzma-dev \
    tk-dev \
    wget

2、下载Python 3.12 源码

cd /tmp
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz
tar -xf Python-3.12.0.tar.xz
cd Python-3.12.0

3、配置、编译并安装

# 配置(优化安装路径)
./configure --enable-optimizations --prefix=/usr/local/python3.12

# 编译(使用所有 CPU 核心加速)
make -j$(nproc)

# 安装到 /usr/local/python3.12
make install

4、创建符号链接(可选)

# 将 python3.12 添加到系统路径
ln -s /usr/local/python3.12/bin/python3.12 /usr/local/bin/python3.12

# 验证安装
python3.12 --version
# 输出:Python 3.12.0

5、安装pip

# 下载 get-pip.py
wget https://bootstrap.pypa.io/get-pip.py

# 用 Python 3.12 安装 pip
python3.12 get-pip.py

# 验证 pip
pip3.12 --version

注:如遇明明已经安装pip,但提示没有pip命令。原因是pip被安装到了某目录下(如/usr/local/python3.12/bin),但该目录不在系统的环境变量PATH中,导致无法直接运行pip或pip3.12命令。

  • 解决方法:
    • 临时解决方法(当前会话有效):
export PATH="/usr/local/python3.12/bin:$PATH"
    • 永久解决方案
echo 'export PATH="/usr/local/python3.12/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
    • 之后检查是否生效
which pip3.12  # 应该返回 /usr/local/python3.12/bin/pip3.12

6、清理临时文件(可选)

这行可不执行,由于后续如果需要重新编译python,需要这个文件夹

rm -rf /tmp/Python-3.12.0*

注意点:

将python添加到环境变量中。

如遇到使用python命令进入不去python环境,而python3.12能进入环境,原因是python命令没有添加到环境变量中。

解决方法:

方案1:创建符号链接(推荐)

# 检查python3.12实际安装路径
which python3.12	# 通常输出如 /usr/bin/python3.12 或/usr/local/bin/python3.12

# 创建全局符号链接(需sudo权限)
sudo ln -s $(which python3.12) /usr/bin/python

# 验证命令
python --version	# 应输出 python 3.12.x

方案2:修改shell配置文件

# 在~/.bashrc 或 ~/.zshrc 末尾添加别名
echo 'alias python=python3.12' >> ~/.bashrc

# 使配置生效
source ~/.bashrc

# 验证
python --version


网站公告

今日签到

点亮在社区的每一天
去签到