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

时间:2012-08-19 02:34:23

标签: python python-3.3

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

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

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

4 个答案:

答案 0 :(得分:20)

在我的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

答案 1 :(得分:2)

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

此外,您可能需要修改setup.py以指明可以找到这些包的位置。

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

答案 2 :(得分:1)

这对我有用(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

答案 3 :(得分:0)

在 2021 年的 Ubuntu 20.04 上遇到了一些困难(以防有人在这里寻找更新的指令集)。发现这篇文章非常有用:

https://linoxide.com/ubuntu-how-to/install-python-3-9-on-ubuntu-20-04-lts/

在 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

我选择不安装 sqlitetkinter,因为我不需要它们,但过程是相同的。只需包含在@simp76 的答案中找到的那些依赖项。

我刚刚在 DO droplet 上全新安装了 Ubuntu 20.04 时完成了这个过程,并且运行完美。