我正在尝试按照 python 开发人员指南在 Ubuntu 12.04 上设置 CPython 的编译版本。即使在安装了依赖包 lzma 和 sqlite3 之后,构建也会失败,表明未找到依赖模块。 确切的错误:
*Python 构建完成,但未找到构建这些模块的必要位:_lzma _sqlite3 _tkinter
要找到必要的位,请在 setup.py 中的 detect_modules() 中查找模块名称。*
我找不到包 tkinter。感谢任何帮助。
我正在尝试按照 python 开发人员指南在 Ubuntu 12.04 上设置 CPython 的编译版本。即使在安装了依赖包 lzma 和 sqlite3 之后,构建也会失败,表明未找到依赖模块。 确切的错误:
*Python 构建完成,但未找到构建这些模块的必要位:_lzma _sqlite3 _tkinter
要找到必要的位,请在 setup.py 中的 detect_modules() 中查找模块名称。*
我找不到包 tkinter。感谢任何帮助。
在我的 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
找不到 lzma 和 sqlite3 可能是因为您的路径(特别是 LD_LIBRARY_PATH)不正确。你是如何安装这两个包的;你用过包管理器吗?如果您手动安装,您在哪里安装它们?另外,如果您使用包管理器安装 lzma 和 sqlite3,您是否安装了开发版本?从源代码安装时,您需要开发版本,因此 Python 的源代码可以找到必要的包含文件。
此外,您可能必须进行编辑setup.py
以指示可以找到这些包的位置。
至于 tkinter:这依赖于 tcl/tk,因此如果您从源代码安装 python/tkinter,请检查您是否安装了这些软件包的开发版本。
这对我有用(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
通常,请参阅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
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
我选择不安装sqlite
或tkinter
因为我不需要它们,但过程是相同的。只需包括在@simp76 的答案中找到的那些依赖项。
我刚刚在 DO droplet 上全新安装 Ubuntu 20.04 上运行了这个过程,它运行完美。
我在这里使用了说明: python-on-debian-wheezy
但我还必须安装未在此处列出的 tk-dev。