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

这篇具有很好参考价值的文章主要介绍了解决 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.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 ;\
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.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、升级gcc8.1.0,不是很推荐,可能会影响其他软件的编译。
2、./configure参数中去掉 --enable-optimizations。然后执行下面的命令:

./configure
make
sudo make install

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

Python 镇楼!!!点下关注好不好,我想申请博客专家!!! 哭唧唧!!!
generate-posix-vars failed,开发语言,centos,python
个人博客: Roc’s Blog文章来源地址https://www.toymoban.com/news/detail-772325.html

到了这里,关于解决 Centos 安装 Python 3.10 的报错: Could not import runpy module的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python安装包报错ERROR: Could not find a version that satisfies the requirement XXX解决方法

    我们在使用 pip 安装 python 包时,经常会出现如下错误: 找了很久终于找到能解决这种报错的方法了。 直接选用pip源并且信任它的来源就可以解决这种问题。 上面使用了豆瓣源,将其换成清华源、阿里源等都适用。 清华源: Simple Index

    2024年02月11日
    浏览(41)
  • 关于Python 3.10在使用百度飞桨 NLP 时import paddlenlp 报错 ModuleNotFoundError: No module named ‘seqeval‘ 的解决办法

    Python :            3.10.9  (原打算用3.11.1版本,后来发现飞桨最高支持到3.10版本) paddlepaddle:   2.4.1 paddlenlp:         2.4.1 (最新版是2.5.0,由于一直报错,降级到2.4.1) seqeval:            1.2.2 准备学习一下paddlenlp 于是按照官方的说明进行安装,使用官方提供的代码进

    2024年01月22日
    浏览(27)
  • 亲测有效:虚拟机安装gcc,报错Could not retrieve mirrorlist http://mirrorlist.centos.org

            网络问题 1、修改虚拟机的网络连接模式为 NAT模式 2、右击桌面,打开终端 ①首先查看网关配置文件名: 输入 ifconfig ②配置网卡信息: vi /etc/sysconfig/network-scripts/ifcfg- ens32  两种方法: 点击键盘 I ,开始输入 第一种:自动配置 ① 1、BOOTPROTO=dhcp(自动获取ip)

    2024年02月10日
    浏览(28)
  • Python pip install 安装包报错ERROR: Could not find a version that satisfies the requirement XXX解决方法

    使用 pip 安装 python 包时,经常会出现如下错误: 本次在用pip命令(pip install pdf2word)安装pdf2docx包的时候出错 因为后来安装好了,所以故意安装一个错误的pdf2word,来整个图 可能是国内网络不稳定,直接导致报错,而不是环境冲突。报错信息看起来容易把人误导到解决包环境

    2024年01月18日
    浏览(68)
  • python使用pip安装包报错的解决办法(ERROR: Could not find a version that satisfies the requirement XXX)

    目录 解决方法一:更换下载源 解决方法二:使用源码安装 解决方法三:通过whl文件安装 拓展:虚拟环境下通过源码安装第三方库 使用pip命令安装python包时可能会出现如下错误提示: ERROR: Could not find a version that satisfies the requirement XXX (from v ersions: none) ERROR: No matching distribu

    2024年01月19日
    浏览(72)
  • Java 日期接收报错:could not be parsed, unparsed text found at index 10(已解决)

    使用 Element-UI 的 el-date-picker 组件 将日期转给Java,Java报错 java.time.format.DateTimeParseException: Text ‘2024-01-03T16:00:00.000Z’ could not be parsed, unparsed text found at index 10 Vue Java实体类 Java控制层 当执行 toJavaObject 方法时,报错如下 java.time.format.DateTimeParseException: Text ‘2024-01-03T16:00:00.000Z’

    2024年01月23日
    浏览(25)
  • pycharm unsupported Python 3.1报错:pycharm无法识别python 3.10

    本人电脑中的pycharm版本是2019的,在使用python3.10环境的时候,pycharm无法识别,出现如下错误: 网上说是因为python版本过高,无法兼容低版本的pycharm,解决方案分两种:要么降低python环境的版本,取消使用3.10,改用3.7或者3.8之类的版本;要么就是下载高版本的pycharm。这里我

    2024年02月13日
    浏览(29)
  • python下载安装教程(Python 3.10版本)

    今天换了新的电脑,需要重新安装python和PyCharm,就简单的写个教程吧~ 1、进入Python官网 官网地址:https://www.python.org 2、点击【Downloads】展开后点击【Windows】跳转到下载python版本页面,选择\\\"Stable Releases\\\"稳定版本,我下载的是Python 3.10.10版本,所以找到【Python 3.10.10-Feb.8,2023】

    2024年02月10日
    浏览(53)
  • 解决浏览器 require is not defined 的报错问题

    在node环境中引入了一些包,用webpack打包后放在浏览器环境中,浏览器报错 require is not defined 。 这是因为 require 是node环境下的CommonJs,而 import 是浏览器环境下的ESModule。ESModule不认识require。 require 是node的一个私有的全局方法。 那就让打包出来的代码别有require,换句话说,

    2024年02月15日
    浏览(38)
  • [centos]centos7源码编译cmake报错Could NOT find OpenSSL

    测试环境: centos7.9 cmake==3.25.0 ./bootstrap以后报错如下: Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) CMake Error at Utilities/cmcurl/CMakeLists.txt:485 (message):   Could not find OpenSSL.  Install an OpenSSL development pa

    2024年02月02日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包