Python 3.3源代码设置:找不到模块:_lzma _sqlite3 _tkinter

Nav*_*buE 8 python python-3.3

我试图通过遵循python开发人员指南在Ubuntu 12.04上设置CPython的编译版本.即使在安装依赖包lzma和sqlite3之后,构建也会失败,表明找不到依赖模块. 确切错误:

*Python构建完成,但找不到构建这些模块的必要位:_lzma _sqlite3 _tkinter
要查找必要的位,请在detect_modules()中的setup.py中查找模块的名称.*

我无法找到包tkinter.感谢任何帮助.

小智 21

在我的Ubuntu Precise盒子上安装以下软件包后,我Python 3.3无需修改即可构建setup.py.

build-essential 
zlib1g-dev 
libbz2-dev 
libncurses5-dev 
libreadline6-dev 
libsqlite3-dev 
libssl-dev 
libgdbm-dev
liblzma-dev
tk8.5-dev
Run Code Online (Sandbox Code Playgroud)


vfi*_*inn 7

一般来说,请参阅Python 开发人员指南以了解依赖项。那里说:

“如果您想构建所有可选模块,请安装以下软件包及其依赖项”:

sudo apt-get install build-essential gdb lcov pkg-config \
  libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \
  libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \
  lzma lzma-dev tk-dev uuid-dev zlib1g-dev
Run Code Online (Sandbox Code Playgroud)


小智 2

找不到 lzma 和 sqlite3 可能是因为您的路径(特别是 LD_LIBRARY_PATH)不正确。你是如何安装这两个包的?你用过包管理器吗?如果您手动安装,那么它们安装在哪里?另外,如果您使用包管理器安装lzma和sqlite3,您是否安装了开发版本?从源代码安装时,您将需要开发版本,以便 Python 源代码可以找到必要的包含文件。

此外,您可能需要进行编辑setup.py以指示可以在哪里找到这些包。

至于 tkinter:这依赖于 tcl/tk,因此如果您从源代码安装 python/tkinter,请检查您是否安装了这些软件包的开发版本。