0


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

操作环境

CentOS 7

Gcc 4.8.5

Python 3.10.0

系统上已经有

2.x

3.6

版本的

Python

了,但是还是想装一个

3.10

的。因为刚写的脚本文件是较高版本的,在

3.6

上无法正常运行,

Python

语法不是很了解,只能从环境上下手了。

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

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

./configure --enable-optimizations
makesudomakeinstall

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

# 报错一:
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 ;\iftest$?-ne0;then\echo"generate-posix-vars failed";\rm-f ./pybuilddir.txt ;\exit1;\fi
Could not import runpy module
Traceback (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_abc
SystemError: <built-in function compile> returned NULL without setting an exception
generate-posix-vars failed
make: *** [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 ;\iftest $? -ne0;then\echo"generate-posix-vars failed";\rm-f ./pybuilddir.txt ;\exit1;\fi
Could not import runpy module
Traceback (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_abc
SystemError: <built-in function compile> returned NULL without setting an error
generate-posix-vars failed
make[1]: *** [pybuilddir.txt] Error 1
make[1]: Leaving directory `/opt/Python-3.10.0'
make: *** [profile-opt] Error 2

导致原因

在低版本的

gcc

版本,使用

gcc

命令并带有

--enable-optimizations

参数时会出现上面问题。在

gcc 8.1.0

此问题已经修复。

解决方法

1、升级

gcc

8.1.0

,不是很推荐,可能会影响其他软件的编译。
2、

./configure

参数中去掉

--enable-optimizations

。然后执行下面的命令:

./configure
makesudomakeinstall

如果还不行就将解压的

Python

目录删除掉,重新解压,然后重新执行上面的命令。

Python

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

标签: centos python

本文转载自: https://blog.csdn.net/peng2hui1314/article/details/133697340
版权归原作者 Roc.Chang 所有, 如有侵权,请联系我们删除。

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

还没有评论