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

Python 3.3源代码设置:未找到模块:_lzma _sqlite3 _tkinter,python,python-3.3,Python,Python 3.3,我正试图按照python开发者指南,在Ubuntu12.04上设置CPython的编译版本。 即使在安装了相关包lzma和sqlite3之后,构建也会失败,表明未找到相关模块。 确切错误: *Python构建完成,但未找到构建这些模块所需的位: _lzma\u sqlite3\u tkinter 要查找必要的位,请在detect_modules()中的setup.py中查找模块名称* 我找不到包裹。感谢您的帮助。找不到lzma和sqlite3可能是因为您的路径(特别是LD_LIBRARY_路径)

我正试图按照python开发者指南,在Ubuntu12.04上设置CPython的编译版本。 即使在安装了相关包lzma和sqlite3之后,构建也会失败,表明未找到相关模块。 确切错误:

*Python构建完成,但未找到构建这些模块所需的位: _lzma\u sqlite3\u tkinter
要查找必要的位,请在detect_modules()中的setup.py中查找模块名称*


我找不到包裹。感谢您的帮助。

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

此外,您可能需要编辑
setup.py
,以指示在何处可以找到这些软件包


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

在我的Ubuntu Precise box上安装了以下软件包后,我能够构建
Python3.3
,而无需修改
setup.py

build-essential 
zlib1g-dev 
libbz2-dev 
libncurses5-dev 
libreadline6-dev 
libsqlite3-dev 
libssl-dev 
libgdbm-dev
liblzma-dev
tk8.5-dev
这对我来说很有用(Python 3.4,Ubuntu 13.04),意思是“make”完成得很干净:

sudo apt-get install build-essential python-dev libncurses*-dev \
                     liblzma-dev libgdbm-dev libsqlite3-dev \
                     libbz2-dev tk-dev
安装:

cd python3.4
make clean && ./configure && make && sudo make install

我在这里使用了说明:


但我还必须安装tk-dev,它没有在这里列出。

在2021年的Ubuntu 20.04上对此有些挣扎(以防有人在这里寻找一套更新的指令)。发现这篇文章非常有用:

在Ubuntu上,您可以使用
apt
安装依赖项,因此只需知道是哪一个。我使用的构建命令如下:

# Update repo, very important on fresh server install
apt update
# Install dependencies
apt install gcc build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
# Configure with optimizations
./configure --enable-optimizations
make -j 4 # 4 cores
make test # Shows you anything you missed
# https://docs.python.org/3/using/unix.html#building-python 
make altinstall
我选择不安装
sqlite
tkinter
,因为我不需要它们,但过程是一样的。只需包含@simp76答案中的依赖项


我刚刚在DO droplet上新安装的Ubuntu 20.04上运行了这个过程,它工作得非常完美。

在这种情况下,配置不应该抛出警告吗?