从源代码构建python:无法构建可选模块sqlite3

我正在从源代码构建python(版本3.5)以获取最新版本.我可以制作python并安装它,但是几个“可选”模块包括_sqlite3都没有安装:

$>./configure --prefix=/my/prefix && make 

产量如下:

Python build finished successfully!

The necessary bits to build these optional modules were not found:

_bz2 _lzma _sqlite3

_ssl _tkinter readline

To find the necessary bits, look in setup.py in detect_modules() for the module’s name.

我(沮丧地)从源代码安装sqlite3也确保sqlite3开发文件存在于某个地方,我相信我已根据相关的lzma module install tutorial设置了必要的lib并包含路径:

$> find / -name libsqlite3.so
/home/username/myproject/lib/libsqlite3.so

$> find / -name sqlite3.h
/home/username/myproject/include/sqlite3.h

$> echo $LD_LIBRARY_PATH
/home/username/myproject/lib

$> echo $LDFLAGS
-L/home/username/myproject/lib

$> echo $CFLAGS
-I/home/username/myproject/include

然而,当我运行./configure –prefix = / my / prefix –enable-loadable-sqlite-extensions&& make,我收到上述错误,因为找不到必要的位,所以没有安装_sqlite3(以及其他).

根据this related answer,似乎我可能需要更改setup.py?那是对的吗?

有没有比破解python setup.py脚本更好的方法?

顺便说一下,我意识到用yum安装sqlite-dev可能会解决这个问题,并将相关的sqlite3文件放在python安装的显而易见的位置,但由于存储库访问受限,我不能肯定我能做到这一点.

最佳答案
这个链接为我构建Python 3.5提供了解决方案.特别是对于Ubuntu,但也帮助计算出CentOS6.

Install missing packages before compiling Python3

更具体地说,对于Ubuntu服务器16.04:


for pkg in build-essential zlib1g-dev libbz2-dev liblzma-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev libgdbm-devliblzma-dev tk8.5-dev lzma lzma-dev libgdbm-dev
do
    apt-get -y install $pkg
done

转载注明原文:从源代码构建python:无法构建可选模块sqlite3 - 代码日志