【手把手教Centos安装Python3.10(安装过程中5种报错的解决方法)】ฅ՞•ﻌ•՞ฅ

2 篇文章 0 订阅
2 篇文章 0 订阅

手把手教Centos安装Python3.10(安装过程中5种报错的解决方法)◔ ‸◔

问题描述(后面有解决办法)

这部分不是很有用,可以直接跳到安装,求大佬点赞,重要的事情说三遍
这部分不是很有用,可以直接跳到安装,求大佬点赞,重要的事情说三遍
这部分不是很有用,可以直接跳到安装,求大佬点赞,重要的事情说三遍

Centos安装Python3.10过程中报错如下

  1. 安装python3.10中使用make -j报错如下
    python3.10要求openssl的版本不对,要求安装1.1.1版本,可以使用这个命令查看版本号,本机自带是1.0.2k版本,不符合要求版本,需要安装对应版本
openssl version

在这里插入图片描述

  1. 安装python3.10中使用make install 报错如下
    在这里插入图片描述

Traceback (most recent call last):
  File "<string>", line 6, in <module>
  File "/usr/local/Python-3.10.6/Lib/runpy.py", line 220, in run_module
    mod_name, mod_spec, code = _get_module_details(mod_name)
  File "/usr/local/Python-3.10.6/Lib/runpy.py", line 146, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/local/Python-3.10.6/Lib/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "<frozen zipimport>", line 196, in get_code
  File "<frozen zipimport>", line 752, in _get_module_code
  File "<frozen zipimport>", line 620, in _get_data
zipimport.ZipImportError: can't decompress data; zlib not available
Traceback (most recent call last):
  File "/usr/local/Python-3.10.6/Lib/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/Python-3.10.6/Lib/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/local/Python-3.10.6/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/usr/local/Python-3.10.6/Lib/ensurepip/__init__.py", line 287, in _main
    return _bootstrap(
  File "/usr/local/Python-3.10.6/Lib/ensurepip/__init__.py", line 203, in _bootstrap
    return _run_pip([*args, *_PACKAGE_NAMES], additional_paths)
  File "/usr/local/Python-3.10.6/Lib/ensurepip/__init__.py", line 104, in _run_pip
    return subprocess.run(cmd, check=True).returncode
  File "/usr/local/Python-3.10.6/Lib/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/local/Python-3.10.6/python', '-W', 'ignore::DeprecationWarning', '-c', '\nimport runpy\nimport sys\nsys.path = [\'/tmp/tmp5nua03zk/setuptools-63.2.0-py3-none-any.whl\', \'/tmp/tmp5nua03zk/pip-22.2.1-py3-none-any.whl\'] + sys.path\nsys.argv[1:] = [\'install\', \'--no-cache-dir\', \'--no-index\', \'--find-links\', \'/tmp/tmp5nua03zk\', \'--root\', \'/\', \'--upgrade\', \'setuptools\', \'pip\']\nrunpy.run_module("pip", run_name="__main__", alter_sys=True)\n']' returned non-zero exit status 1.
make: *** [install] 错误 1
  1. 安装完openssl后,查看版本报错
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

在这里插入图片描述

  1. 安装pyhon3.10.6时配置make -j,致命错误:ffi.h:没有那个文件或目录 原因是没有安装libffi-deve
    在这里插入图片描述
  2. 安装python3.10.6报错没有zlib
    在这里插入图片描述
can't decompress data; zlib not availabl

我的系统环境

这个是新开的虚拟机,才装好开机的状态(CentOS-7-x86_64-DVD-2009)
在这里插入图片描述

开始安装python

  1. 使用root身份,不然权限不够,也可以在权限不够的地方加sudo,直接su一直保持管理员身份,输入密码的时候,密码不会显示,注意大小写和数字键盘的开关,输入完成直接回车
su
  1. cd到安装目录,用户安装的工具一般都在/usr/local/
cd /usr/local/
  1. 使用wget下载python3.10.6的安装包,有可能证书验证错误,所以加了
    –no-check-certificate
wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz --no-check-certificate
  1. 解压python3.10.6安装包,这里报错,很可能权限不够
tar -zxvf Python-3.10.6.tgz
  1. 使用wget下载openssl的安装包,有可能证书验证错误,所以加了
    –no-check-certificate
wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz --no-check-certificate
  1. 解压openssl安装包,这里报错,很可能权限不够,参考步骤1
tar -zxvf openssl-1.1.1n.tar.gz
  1. 进入openssl解压目录里面,准备安装openssl
cd openssl-1.1.1n
  1. 配置openssl,配置到指定目录里面
./config --prefix=/usr/local/openssl
  1. 编译(make-j) 并(&&) 安装(make install)
make -j && make install
  1. 检测openssl版本号是不是1.1.1了
openssl version
  1. 备份原来的openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
  1. 创建软链,方便使用
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
  1. 查看版本是否正确(报错正常)
openssl version

在这里插入图片描述

  1. 复制libssl.so.1.1文件到对应目录,假如libssl.so.1.1 文件在/usr/local/openssl/lib/下面,如果找不到就看看lib64有没有
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
  1. 查看版本是否正确(如果报错和13一样按照14做,不一样就评论我看看吧,记得带报错原因)
openssl version

正常情况
大概如图所示

  1. 切换到python3.10.6解压目录里面,如果配置编译过就执行make clean清除一下
cd /usr/local/Python-3.10.6/
  1. 开始配置python3.10.6,配置到指定目录里面,配置指定的openssl,配置为auto,不加后悔一个小时
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
  1. 编译python3.10.6,-j加快编译(致命错误:ffi.h:没有那个文件或目录 原因是没有安装libffi-deve)
make -j
  1. 安装libffi-deve(如果yum报错,大概是你把python2卸载了,活该,别问我怎么晓得)
yum install -y libffi-devel

在这里插入图片描述

  1. 编译python3.10.6,-j加快编译(如果报错和18一样,毁灭吧,重新试一下19,还报错就评论我看看是那个倒霉蛋)
make -j

编译好是这样样子
在这里插入图片描述

  1. 安装python3.10.6(终于安装了 ᵕ᷄≀ ̠ᵕ᷅ ),但是报错了**!!!**
make install

少了个zlib(图片里面打错了,(♡ര‿ര))
在这里插入图片描述

  1. 头大了,安装给python3.10.6咋个这么麻烦,这个是安装最新的zlib
yum install zlib zlib-devel

在这里插入图片描述

  1. 再次安装python3.10.6 **
make install

搞定安装成功
在这里插入图片描述

  1. 然后试一下python3版本号可以显示不
python3 -V
  1. 看25提示了pip不在环境变量里面,也就是不能直接pip,这我那可以忍,把pip3创建一个软链来环境变量路径里面
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip
  1. 测试看看pip正不正常
pip -V
  1. 测试一下安装库看看,别报错了
pip install requests
  1. 打开python输入下面代码
print('I ZhongYu install good python 了')#我终于安装好python了

在这里插入图片描述

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米汤爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值