我该如何在从源代码编译的Python上安装DistUtilsExtra?

3
我正在使用树莓派工作。出于某些复杂的原因,我不想深入讨论,我必须从系统中删除Python2和Python3,并从头编译Python 3.9.2。 运行得很好。
不幸的是,现在我需要使用Ansible来配置系统,如果您计划使用使用apt模块的任务,则需要python3-apt。 python3-apt似乎只是python-apt,我可以使用pip安装它。
不幸的是,当我尝试这样做(pip install python-apt)时,我会得到以下错误:
ModuleNotFoundError: No module named 'DistUtilsExtra'

如果我的 Python 是通过 apt 安装的,我只需执行以下命令即可:
sudo apt-get install python3-distutils-extra

这取决于从apt repos获取的Python软件包,因此它将从apt安装Python,而我不想要这样。 python3-distutils-extra似乎只是一个Python软件包,但我似乎在pypi上找不到它。有没有一种方法可以在不使用apt的情况下安装它?
或者我应该告诉apt安装软件包,忽略安装依赖项?

这不是对我的问题的直接回答,但解决了我的问题。原来 python3-apt 不在 pypi 上。它在 这里。安装 libapt-pkg-dev,并使用 python setup.py build; python setup.py install 构建 python-apt 解决了我的问题。我必须使用 git 标签 1.8.4.3 的版本(与 apt 安装的版本相同),因为我的 apt 中的 libapt-pkg-dev 不足以与较新版本的 python-apt 一起使用,但现在,一切都正常。 - John
1个回答

3
一种可能的解决方法是从apt包的源代码中重新构建wheel。
apt-get source python3-distutils-extra
cd python-distutils-extra-2.40
python3.9 -m pip install wheel  # You'll need this to run setup.py
python3.9 setup.py bdist_wheel  # Create the wheel
python3.9 -m pip install dist/python_distutils_extra-2.39-py3-none-any.whl  # Install the wheel

你必须在你的sources.list文件中添加一些'deb-src'的URL。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接