无法使用 pyenv 安装 Python 3.8.5

Posted

技术标签:

【中文标题】无法使用 pyenv 安装 Python 3.8.5【英文标题】:Unable to install Python 3.8.5 using pyenv 【发布时间】:2021-05-05 00:07:05 【问题描述】:

我正在尝试在 Centos 6 Docker 映像上使用 pyenv 安装 Python 3.8.5。我收到以下错误:

正在下载 Python-3.6.12.tar.xz... -> https://www.python.org/ftp/python/3.6.12/Python-3.6.12.tar.xz 正在安装 Python-3.6.12...

使用 python-build 构建失败(CentOS 版本 6.10(最终版) 1.2.22-47-g4c302a0)

检查或清理工作树 /tmp/python-build.20210131203049.150 结果记录到 /tmp/python-build.20210131203049.150.log

最后 10 行日志:检查 g++ 静态标志 -static 是否有效...否 检查 g++ 是否支持 -c -o file.o... 是 检查 g++ 是否支持 -c -o file.o...(缓存)是检查 g++ 链接器(/usr/bin/ld -m elf_x86_64)是否支持共享库...是检查 动态链接器特性...(缓存)GNU/Linux ld.so 检查 如何将库路径硬编码到程序中...立即检查大小 size_t... 8 检查 C 编译器供应商... gcc -pthread -shared -L/root/.pyenv/versions/3.6.12/lib -L/root/.pyenv/versions/3.6.12/lib -L/root/.pyenv/versions/3.6.12/lib -I/root/ .pyenv/versions/3.6.12/include build/temp.linux-x86_64-3.6/tmp/python-build.20210131203049.150/Python-3.6.12/Modules/pyexpat.o build/temp.linux-x86_64-3.6/tmp/python-build.20210131203049.150/Python-3.6.12/Modules/expat/xmlparse.o build/temp.linux-x86_64-3.6/tmp/python-build.20210131203049.150/Python-3.6.12/Modules/expat/xmlrole.o build/temp.linux-x86_64-3.6/tmp/python-build.20210131203049.150/Python-3.6.12/Modules/expat/xmltok.o -L/root/.pyenv/versions/3.6.12/lib -L/usr/local/lib -o build/lib.linux-x86_64-3.6/pyexpat.cpython-36m-x86_64-linux-gnu.so /bin/sh:第 9 行:8442 杀死 CC='gcc -pthread' LDSHARED='gcc -pthread -shared -L/root/.pyenv/versions/3.6.12/lib -L/root/.pyenv/versions/3.6.12/lib ' OPT='-DNDEBUG -g -fwrapv -O3 -Wall' _TCLTK_INCLUDES='' _TCLTK_LIBS='' ./python -E ./setup.py $quiet build make: *** [sharedmods] 错误 137

【问题讨论】:

这个怎么样? unix.stackexchange.com/questions/547335/… 更新的问题有不同的错误。 您应该只编辑以添加说明、详细信息、回答commun cmets。已经阅读过您的问题的用户不太可能“以防万一”您更改它。 【参考方案1】:

看起来你缺少一个部门。试试这个:

$ sudo yum install openssl-devel

如果这还不够,https://joshspicer.com/python37-ssl-issue 上会提到其他几个相关部门

请注意,仅安装了 openssl 还不够。

您需要 -devel 形式的包。 它包含必要的成分,例如*.h 头文件, 这是构建成功所必需的。


使用$ yum list installed 查看您拥有的 ATM。 你可能会发现例如yum list installed | grep -i openssl方便。

【讨论】:

以上是关于无法使用 pyenv 安装 Python 3.8.5的主要内容,如果未能解决你的问题,请参考以下文章

无法在 MacOS 上使用 pyenv Python 安装 tkinter

如何在 microsoft windows 10 中使用 pyenv/pyenv-win 安装 python 版本?

无法使用 pyenv 安装运行 IDLE:`Python 可能没有为 Tk 配置``ModuleNotFoundError: No module named _tkinter'

python多版本管理工具--pyenv安装和使用

使用 pyenv 工具管理和安装多个 python 版本

pyenv & virtualenv 的安装与使用