Python 构建完成,但未找到构建这些模块所需的位
Python build finished, but the necessary bits to build these modules were not found
几个月前 python2 的官方支持结束了,但我 运行 我的一个程序需要它,而且它已从 ubuntu 20.04 repository.So 我想在 make all
的最后阶段编译和安装 python2 myself.But(实际上是在 setup.py build
),它会打印以下错误:
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _sqlite3 _ssl
_tkinter bsddb185 bz2
dbm dl gdbm
imageop readline sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
我不关心 readline
或 _tkinter
等模块,但我需要 _ssl
。无法通过 pip
安装它。
我从存储库安装了 libssl-dev
,但在重新构建后出现以下错误:
Failed to build these modules:
_hashlib _ssl
感谢任何帮助。
谢谢。
老实说,我宁愿为 Python2 使用 docker 图像,也不愿尝试编译它;对某些人来说可能有点矫枉过正,但对我来说这是更简单、更简洁的方法。
例如,如果您有一个 project
文件夹,其中至少包含 project.py
和 requirements.txt
,您可以使用以下 Dockerfile
(与 project
):
FROM python:2.7-slim-buster
COPY /project /app
RUN pip install --no-cache-dir -r /app/requirements.txt
WORKDIR /app
CMD [ "python", "project.py" ]
使用 docker build -t project .
构建
运行 它与 docker run -it --rm --name project_run project
根据您的应用程序的复杂程度,您还可以尝试将其更新到 运行 Python 3(也有自动化工具可以帮助您完成此操作)。
几个月前 python2 的官方支持结束了,但我 运行 我的一个程序需要它,而且它已从 ubuntu 20.04 repository.So 我想在 make all
的最后阶段编译和安装 python2 myself.But(实际上是在 setup.py build
),它会打印以下错误:
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _sqlite3 _ssl
_tkinter bsddb185 bz2
dbm dl gdbm
imageop readline sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
我不关心 readline
或 _tkinter
等模块,但我需要 _ssl
。无法通过 pip
安装它。
我从存储库安装了 libssl-dev
,但在重新构建后出现以下错误:
Failed to build these modules:
_hashlib _ssl
感谢任何帮助。
谢谢。
老实说,我宁愿为 Python2 使用 docker 图像,也不愿尝试编译它;对某些人来说可能有点矫枉过正,但对我来说这是更简单、更简洁的方法。
例如,如果您有一个 project
文件夹,其中至少包含 project.py
和 requirements.txt
,您可以使用以下 Dockerfile
(与 project
):
FROM python:2.7-slim-buster
COPY /project /app
RUN pip install --no-cache-dir -r /app/requirements.txt
WORKDIR /app
CMD [ "python", "project.py" ]
使用 docker build -t project .
运行 它与 docker run -it --rm --name project_run project
根据您的应用程序的复杂程度,您还可以尝试将其更新到 运行 Python 3(也有自动化工具可以帮助您完成此操作)。