Python 3.3源代码设置:未找到模块:_lzma _sqlite3 _tkinter
我正试图按照python开发者指南,在Ubuntu12.04上设置CPython的编译版本。 即使在安装了相关包lzma和sqlite3之后,构建也会失败,表明未找到相关模块。 确切错误: *Python构建完成,但未找到构建这些模块所需的位: _lzma\u sqlite3\u tkinterPython 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_路径)
要查找必要的位,请在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上运行了这个过程,它工作得非常完美。在这种情况下,配置不应该抛出警告吗?