您现在的位置是:首页 > 诗句大全

解决 Centos 安装 Python 3.10 的报错: Could not import runpy module

作者:利杜鹃时间:2024-04-03 18:51:35分类:诗句大全

简介  文章浏览阅读3.1k次,点赞5次,收藏3次。导致原因:在低版本的`gcc`版本,使用 `gcc` 命令并带有 `--enable-optimizations` 参数时会出现上面问题。在 `gcc 8.1.0` 此问题已经修复。_generate-posix-v

点击全文阅读

操作环境CentOS 7Gcc 4.8.5Python 3.10.0

系统上已经有 2.x3.6 版本的 Python 了,但是还是想装一个 3.10 的。因为刚写的脚本文件是较高版本的,在 3.6 上无法正常运行,Python 语法不是很了解,只能从环境上下手了。

【注】Python 其他版本也适用,毕竟是编译器的问题,并非 Python 版本问题。

下载源码文件,然后开始执行操作:

./configure --enable-optimizationsmakesudo make install

然后报错如下,下面是两个机器不同的报错:

# 报错一:gcc -pthread     -Xlinker -export-dynamic -o python Programs/python.o libpython3.10.a -lcrypt -lpthread -ldl  -lutil -lm   -lm ./python -E -S -m sysconfig --generate-posix-vars ;\if test $? -ne 0 ; then \echo "generate-posix-vars failed" ; \rm -f ./pybuilddir.txt ; \exit 1 ; \fiCould not import runpy moduleTraceback (most recent call last):  File "/opt/Python-3.10.0/Lib/runpy.py", line 15, in <module>    import importlib.util  File "/opt/Python-3.10.0/Lib/importlib/util.py", line 14, in <module>    from contextlib import contextmanager  File "/opt/Python-3.10.0/Lib/contextlib.py", line 4, in <module>    import _collections_abcSystemError: <built-in function compile> returned NULL without setting an exceptiongenerate-posix-vars failedmake: *** [pybuilddir.txt] Error 1
# 报错二:make build_all CFLAGS_NODIST=" -fprofile-use -fprofile-correction" LDFLAGS_NODIST=""make[1]: Entering directory `/usr/local/src/Python-3.10.0'./python -E -S -m sysconfig --generate-posix-vars ;\if test $? -ne 0 ; then \echo "generate-posix-vars failed" ; \rm -f ./pybuilddir.txt ; \exit 1 ; \fiCould not import runpy moduleTraceback (most recent call last):  File "/opt/Python-3.10.0/Lib/runpy.py", line 15, in <module>    import importlib.util  File "/opt/Python-3.10.0/Lib/importlib/util.py", line 14, in <module>    from contextlib import contextmanager  File "/opt/Python-3.10.0/Lib/contextlib.py", line 4, in <module>    import _collections_abcSystemError: <built-in function compile> returned NULL without setting an errorgenerate-posix-vars failedmake[1]: *** [pybuilddir.txt] Error 1make[1]: Leaving directory `/opt/Python-3.10.0'make: *** [profile-opt] Error 2

导致原因

在低版本的gcc版本,使用 gcc 命令并带有 --enable-optimizations 参数时会出现上面问题。在 gcc 8.1.0 此问题已经修复。

解决方法

1、升级gcc8.1.0,不是很推荐,可能会影响其他软件的编译。
2、./configure参数中去掉 --enable-optimizations。然后执行下面的命令:

./configuremakesudo make install

如果还不行就将解压的 Python 目录删除掉,重新解压,然后重新执行上面的命令。

Python 镇楼!!!点下关注好不好,我想申请博客专家!!! 哭唧唧!!!
在这里插入图片描述
个人博客: Roc’s Blog

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

我来说两句