【发布时间】:2015-12-23 03:27:05
【问题描述】:
我正在从源代码构建 python(3.5 版)以获得最新版本。我可以make python 并安装它,但是包括 _sqlite3 在内的几个“可选”模块没有安装:
$>./configure --prefix=/my/prefix && make
产生以下结果:
...
Python 构建成功完成!
未找到构建这些可选模块的必要位:
_bz2 _lzma _sqlite3
_ssl _tkinter readline
要查找必要的位,请在 setup.py 中的 detect_modules() 中查找模块名称。
我(沮丧地)从源代码安装了 sqlite3 以确保 sqlite3 开发文件存在于某处,并且我相信我已经根据相关的 lzma module install tutorial 设置了必要的 lib 和 include 路径:
$> 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 python-3.x sqlite