在 Ubuntu 上“编译 Python 源码”通常有两种理解:
下面分别说明。
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
以 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
./configure --enable-optimizations --prefix=/usr/local/python312
说明:
--enable-optimizations:开启性能优化(编译较慢)--prefix:指定安装路径make -j$(nproc)
sudo make install
/usr/local/python312/bin/python3 --version
可选:建立软链接
sudo ln -s /usr/local/python312/bin/python3 /usr/local/bin/python312
pip install pyinstaller
pyinstaller -F your_script.py
生成文件在:
dist/your_script
pip install nuitka
python -m nuitka your_script.py
make 报错缺少模块一般是依赖没装全,回到第一步补依赖。
⚠️ 不要替换系统 /usr/bin/python3,否则可能破坏 apt。
推荐使用:
pyenvpython -m venv如果你是指:
可以告诉我具体场景,我可以给你更针对性的步骤。