当前位置: 首页 > news >正文

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

操作环境CentOS 7Gcc 4.8.5Python 3.10.0

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

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

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

./configure --enable-optimizations
make
sudo 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 ; \
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.utilFile "/opt/Python-3.10.0/Lib/importlib/util.py", line 14, in <module>from contextlib import contextmanagerFile "/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 ;\
if test $? -ne 0 ; then \echo "generate-posix-vars failed" ; \rm -f ./pybuilddir.txt ; \exit 1 ; \
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.utilFile "/opt/Python-3.10.0/Lib/importlib/util.py", line 14, in <module>from contextlib import contextmanagerFile "/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、升级gcc8.1.0,不是很推荐,可能会影响其他软件的编译。
2、./configure参数中去掉 --enable-optimizations。然后执行下面的命令:

./configure
make
sudo make install

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

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

http://www.lryc.cn/news/191681.html

相关文章:

  • HTML5简介-HTML5 新增语义化标签-HTML5 新增多媒体标签
  • pyqt---子线程进行gui操作导致界面崩溃
  • vue-cli 输出的模板 html 文件使用条件语句
  • Spring Boot集成kafka的相关配置
  • Git(11)——Git相关问题解答以及常用命令总结
  • 【LeetCode高频SQL50题-基础版】打卡第7天:第36~40题
  • C++入门1
  • Matlab论文插图绘制模板第118期—进阶气泡图
  • grafana接入OpenTSDB设置大盘语法
  • HarmonyOS 远端状态订阅开发实例
  • 实战一:Http轮询弹幕拦截
  • 虚拟机独立 IP 配置
  • 升级教育技术软件的多合一解决方案
  • c++视觉检测-----角点检测
  • 虚拟机安装Docker
  • 虚幻引擎5:增强输入的使用方法
  • buffer overflow detected
  • 【c++源码】老飞飞源码完整v15源码(包含数据库前端后端源文件)
  • MySQL创建数据库、创建表操作和用户权限
  • 时间序列分析基础篇
  • Idea JavaWeb项目,继承自HttpFilter的过滤器,启动Tomcat时部署工件出错
  • 02Maven核心程序的下载与settings.xml文件的配置,环境变量的配置
  • 栈实现深度优先搜索
  • Java 基于SpringBoot的某家乡美食系统
  • splice 和 slice 会改变原数组吗? 怎么删除数组最后一个元素?
  • 解锁互联网安全的新钥匙:JWT(JSON Web Token)
  • alsa音频pcm设备之i2c调试
  • 1. Windows平台下如何编译C++版本的Redis库hiredis
  • Centos中利用自带的定时器Crontab_实现mysql数据库自动备份_linux中mysql自动备份脚本---Linux运维工作笔记056
  • 完美解决Android adb install 安装提示 INSTALL_FAILED_TEST_ONLY