CentOS 7上默认安装的python版本是2.7.5,系统自带的旧版本python被系统很多其他软件环境依赖,因此不能卸载原Python,直接选择Python3.6.5进行全新安装。

1 安装Python3.6可能使用的依赖

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++

2 安装Python3.6.5

1、下载python3.6.5的Linux安装包
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

2、使用root权限打开终端,进行解压缩操作

tar -zxvf Python-3.6.5.tgz

将目录进行重命名

mv Python-3.6.5 python3.6

3、修改Setup文件,启动ssl模块

vi /opt/python3.6/Modules/Setup.dist

#修改结果如下:

# Socket module helper for socket(2)

_socket socketmodule.c timemodule.c

# Socket module helper for SSL support; you must comment out the other# socket line above, and possibly edit the SSL variable:

SSL=/usr/local/ssl

_ssl _ssl.c \

-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

-L$(SSL)/lib -lssl -lcrypto

4、编译安装包,指定安装目录,进入python3.6目录,执行

cd /opt/python3.6

./configure --with-ssl --prefix=/opt/python3.6  # 目录/opt/python3.6可以根据自己的喜好随意选择,此目录为python的真正安装目录

在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,刚好pip3过程需要ssl模块

 

5、确认无误后,进入安装目录,执行编译

[root@localhost python3.6]# make

[root@localhost python3.6]# make install

6、以上步骤执行完成,python3.6基本安装完成;因为系统自带的是python2.7.5,直接执行python命令,所进入默认的python2.6.6的环境;

7、新建软连接,指向新安装的python3.6.5

ln -s /opt/python3.6/bin/python3.6 /usr/bin/python3

8、/usr/bin/python3 此处路径不要覆盖 /usr/bin/python,否则可能会导致系统其它相关依赖命令无法使用

9、所以安装好Python后直接创建一个软连接指向python的pip就可以了,注意,一定要指向pip3,其他的还是会报错

ln -s /opt/python3.6/bin/pip3 /usr/bin/pip

默认Python2是不带有pip的

10、为了不影响Python2的pip的功能(默认Python2是不带有pip的),新建软连接的时候,可以指向pip2

ln -s /opt/python3.6/bin/pip3 /usr/bin/pip3

最新文章

  1. webform 简单控件
  2. 由python为入口回顾C++的lambda
  3. AC小笔记
  4. 【BZOJ-3648】寝室管理 环套树 + 树状数组 + 点分治
  5. ecshop 变量表
  6. IDM主机上安装融合应用程序配置框架
  7. Linux 进程通信(有名管道)
  8. execute immediate的简单用法(oracle)
  9. ZooKeeper应用理论及其应用场景
  10. OpenCV畸变校正原理以及损失有效像素原理分析
  11. 8Manage:“消费升级”缘何剑指企业一体化管理变革?
  12. maven仓库添加jar架包
  13. Unity的UI究竟为什么可以合批
  14. 云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2 ,Apache版本:2.4.23, Mysql 版本:5.7.17 , Php版本:7.0.12)
  15. linux下如何编译安装gcc-8.3.0
  16. Python XML操作
  17. 05-01 Java 方法
  18. C语言写了一个socket server端,适合windows和linux,用GCC编译运行通过
  19. .net MVC 单页面 多个(行)数据修改
  20. typescript项目中import 图片时报错:TS2307: Cannot find module ‘...’

热门文章

  1. 【Java_SSM】(四)Eclipse中通过maven引入jar包
  2. 设计模式:Filter+Servlet+反射
  3. ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found
  4. js-实现多列布局(瀑布流)
  5. java-五大内存图
  6. 基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群 三 集群可用性测试
  7. [256个管理学理论]003.鳄鱼法则(Alligator Principle)
  8. jQuery-显示与隐藏
  9. 如何从0创建一个react项目
  10. 关于vue 中elementui 的表格边框隐藏