irpas技术客

ubuntu从源码编译安装python_tobelove`默_ubuntu 编译安装python

未知 4693

01.更新软件包列表并且安装编译 Python 所必要的软件包:

sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

02. 下载相应版本的python源码,并解压在任意目录

https://www.python.org/downloads/

03. 切换到 Python 源码目录,并且执行configure脚本,他会执行一系列检测,并且确保所有依赖都在你的系统上准备好了:

cd Python-xxxx ./configure --enable-optimizations --enable-loadable-sqlite-extensions --with-openssl=/usr/local/openssl

其中:

--enable-optimizations:通过多个测试优化 python 二进制包。这会导致编译过程变慢。

--with-openssl=/usr/local/openssl:指定openssl的安装目录,注意确保openssl路径正确。如果openssl配置错误,使用python和pip时会出现“Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available)”错误。

在python源码目录内的“Modules/Setup”文件中搜索“_socket socketmodule.c”,打开以下注释(以python 3.10.4为例):

--enable-loadable-sqlite-extensions:打开sqlite可选项。如果打开了该选项,请确保在python源码目录内的“setup.py”文件中关于的sqlite配置正确。

在“setup.py”文件中查找字段“sqlite_inc_paths”,检查sqlite相关配置是否正确。

根据环境的不同,也许需要添加以下路径:?

/usr/local/sqlite3/include

/usr/local/sqlite3/include/sqlite3

?04.开始 Python 的编译处理:

make -j 8

想要缩短编译事件,修改-j来适配你的处理器数量。可以通过输入nproc来找到处理器的数量。

05. 当编译完成后,通过输入下面的命令安装 Python 二进制包

sudo make altinstall

不要使用标准的make install因为它会覆盖默认的系统 python 二进制包

参考:

如何在 Ubuntu 18.04上安装 Python 3.8 - 云+社区 - 腾讯云

解决Python3 No module named '_sqlite3'错误 - 简书

python3.7安装后ssl问题 - 云+社区 - 腾讯云


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Ubuntu #编译安装python #01更新软件包列表并且安装编译 #Python #所必要的软件包sudo #apt #updatesudo