温馨提示×

ubuntu如何编译python源码

小樊
55
2026-09-10 10:04:16
栏目: 编程语言

在 Ubuntu 上“编译 Python 源码”通常有两种理解:

  1. 从官方 CPython 源码编译安装 Python(最常见)
  2. 将 Python 脚本编译成可执行文件(如用 PyInstaller / Nuitka)

下面分别说明。


一、从源码编译安装 Python(CPython)

1. 安装编译依赖

sudo apt update
sudo apt install -y \
  build-essential \
  libssl-dev \
  zlib1g-dev \
  libbz2-dev \
  libreadline-dev \
  libsqlite3-dev \
  wget \
  llvm \
  libncurses5-dev \
  libncursesw5-dev \
  xz-utils \
  tk-dev \
  libffi-dev \
  liblzma-dev

2. 下载 Python 源码

以 Python 3.12 为例:

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz
sudo tar xzf Python-3.12.3.tgz
cd Python-3.12.3

3. 配置编译选项

./configure --enable-optimizations --prefix=/usr/local/python312

说明:

  • --enable-optimizations:开启性能优化(编译较慢)
  • --prefix:指定安装路径

4. 编译并安装

make -j$(nproc)
sudo make install

5. 使用新 Python

/usr/local/python312/bin/python3 --version

可选:建立软链接

sudo ln -s /usr/local/python312/bin/python3 /usr/local/bin/python312

二、将 Python 代码编译为可执行文件

方式 1:PyInstaller(最常用)

pip install pyinstaller
pyinstaller -F your_script.py

生成文件在:

dist/your_script

方式 2:Nuitka(编译为 C,性能更好)

pip install nuitka
python -m nuitka your_script.py

三、常见问题

1. make 报错缺少模块

一般是依赖没装全,回到第一步补依赖。

2. 系统 Python 被覆盖

⚠️ 不要替换系统 /usr/bin/python3,否则可能破坏 apt。

3. 多版本管理

推荐使用:

  • pyenv
  • 虚拟环境 python -m venv

如果你是指:

  • 交叉编译 Python
  • 编译 Python C 扩展
  • 修改 CPython 源码

可以告诉我具体场景,我可以给你更针对性的步骤。

0 踩