python编译安装

📅 2026/7/4 8:46:32
python编译安装
目录下载编译安装编译参数解释升级PIP第三方模块安装与卸载python脚本编译为可执行二进制文件下载wgethttps://www.python.org/ftp/python/3.13.13/Python-3.13.13.tar.xz编译安装# centosyum groupinstall-yDevelopment Toolsyuminstall-yopenssl-devel libffi-devel sqlite-devel bzip2-devel\readline-devel ncurses-devel xz-devel zlib-devel\curl-devel expat-devel gdbm-devel nss-devel tk-devel\db4-devel libuuid-devel libedit-deve pkgconfig# ubuntuapt-getinstall-ylibssl-dev libffi-dev libsqlite3-dev libbz2-dev\libreadline-dev libncurses5-dev liblzma-dev zlib1g-dev\libcurl4-openssl-dev libexpat1-dev libgdbm-dev libnss3-dev\tk-dev libdb-dev uuid-dev libedit-dev pkg-configtarxf Python-3.13.13.tar.xzcdPython-3.13.13/makedistcleanLDFLAGS-Wl,-rpath,\$$ORIGIN/../lib\./configure--prefix/opt/python --enable-optimizations --enable-sharedmake-j$(nproc)makeinstall编译参数解释--prefix/opt/python指定 Python 的安装目录 --enable-optimizations启用 PGOProfile Guided Optimization配置文件引导优化。编译出的 Python 性能提升显著 --enable-shared启用共享库Shared Library的生成。这指示编译器生成动态链接库例如 libpython3.x.so而不是仅仅生成静态库.a 文件。这对于后续使用 PyInstaller 打包程序或者将 Python 嵌入到 C/C 程序中是必须的。升级PIP/opt/python/bin/python3-mpipinstall--upgradepip第三方模块安装与卸载# download packages# /opt/python/bin/pip3 list|grep -Ev setuptools|pip |awk NR 2 {print $1}|xargs -I pn /opt/python/bin/pip3 download -d ./ pnmkdir/opt/python/ball /opt/python/bin/pip3 download-d/opt/python/ball\pandas pykafka logging datetime\scapy2.6.1\pysnmp7.1.21pyasn10.6.1 pysnmp-pyasn11.1.3 pysnmp-pysmi1.1.12pysnmplib5.0.24# 根据当前已安装模块备份安装包/opt/python/bin/pip3 list|grep-Evsetuptools|pip|awkNR 2 {print $1}|xargs-Ipn /opt/python/bin/pip3 download-d./ pn# 生成requirement文件/opt/python/bin/pip3 list--formatfreezerequirement.txt# 根据requirement.txt安装/opt/python/bin/pip3install-rrequirement.txt# 卸载所有第三方模块/opt/python/bin/pip3 list|grep-Evsetuptools|pip|awkNR 2 {print $1}|xargs-Ipn /opt/python/bin/pip3 uninstall-ypnpython脚本编译为可执行二进制文件# python核心代码必须在libpython*.so动态库中不能是静态编译的python否则无法安装pyinstaller/opt/python/bin/pip3installpyinstaller# 将python脚本编译为可执行二进制文件# /opt/python/bin/pyinstaller --onefile test.py --name test