redhat7.6 默认安装了python2.7.

查看已安装python情况

cd /  # 定位到根目录
whereis python  # 查看python所在目录 /usr/bin cd /usr/bin  # 切到python目录 ll python*  # 查看python开头的相关文件详情

mv python python.bak  #备份原python文件.

安装Python3

为避免因缺少依赖包出各种问题, 请跳过下面的步骤, 先安装文末的依赖包.

# 新建python目录
mkdir /usr/local/python3 # 切换到新建的目录
cd /usr/local/python3 # 下载python3.7安装包
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz # 解压python包
tar -xvf Python-3.7.4.tgz # 切换到目录
cd Python-3.7.4 # 指定python3安装路径 /usr/local/python3Dir
./configure --prefix=/usr/local/python3Dir

make
make install 此时报错了<_>

1. ModuleNotFoundError: No module named '_ctypes' make: *** [install] 错误 1

#因为 缺少libffi-devel依赖, 使用以下命令安装.
yum -y install libffi-devel

安装后重新make install 继续报错.

2. zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] 错误 1

#缺少 zlib* 依赖包.
yum install zlib* -y

3. 后面python3 安装好后, 使用pip时还会报这个错误.

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

# 因为自带的openssl版本比较低, 需要安装高版本的openssl-devel. yum install gcc libffi-devel zlib* openssl-devel

此时 发现 使用 yum 会出现错误.

-bash: /usr/bin/yum: /usr/bin/python: 坏的解释器: 没有那个文件或目录

因为 yum依赖python, 刚才mv python python.bak 更改了文件名所以报错, 改回文件名即可:

cd /usr/bin/

mv python.bak python  # 更改后就可以使用yum安装上面的依赖包了.

#使用yum安装完上面的依赖包后, 务必重新把python名字改回去. 否则后面建立python3连接时候会提示文件已存在报错.
cd /usr/bin/

mv python python.bak
 

重新安装 上面3个依赖包后, 继续.

make clean    # 清理
make # 大概要几分钟
make install # 执行完成不报错就装好了
# 切换到安装目录下的bin目录:
cd /usr/local/python3Dir/bin # 建立连接
ln -s /usr/local/python3Dir/bin/python3 /usr/bin/python # 查看python版本
python -V # 查看python对应详情
ll /usr/bin/python*

到这里 python3 就安装好了.

最新文章

  1. Sqlserver内置函数实现MD5
  2. EBS 11i 的工作流列表
  3. django模板里循环变量&lt;table&gt;里想要两个一行如何控制
  4. springmvc参数绑定
  5. Linux 常用命令笔记 (持续更新)
  6. Jetty实践-Hello World
  7. WVGA-维基百科
  8. 黑盒测试用例设计方法&amp;理论结合实际 -&gt; 边界值分析法
  9. HTML5随笔
  10. 使用Sphinx生成静态网页
  11. 201521123077 《Java程序设计》第11周学习总结
  12. 2.Ray-消息发布器与消息存储器
  13. PHP设计模式概述
  14. Xampp单独升级某个软件
  15. office完全卸载
  16. Linux常用基本命令:uniq-去重复
  17. Socket的综合应用总结
  18. 返回值为 Record类型的函数 初始化 Result
  19. Blockchain For Dummies(IBM Limited Edition
  20. mysql 获取id最大值

热门文章

  1. AdoptOpenJDK是什么?
  2. getter和setter以及defineProperty的用法
  3. Java基础语法:类型转换
  4. 用脚手架搭建一个 vue 项目
  5. 力扣496. 下一个更大元素 I
  6. 机器学习系统或者SysML&amp;DL笔记(一)
  7. HDOJ-6685(暴力+思维)
  8. 2020年12月-第02阶段-前端基础-CSS基础选择器
  9. 远程文件管理系统(SpringBoot + Vue)
  10. Vue中去除文本框回车默认事件