Linux系统安装Python3环境

本文介绍了如何在基于Linux3.10.0-957.el7的环境中,从Python2.7.5升级到Python3.6.5,包括下载、编译、创建软链接以及解决pip3SSL模块问题的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在linux中用python的脚本弄一些自动化还是挺方便的,但是linux的python几乎都是2.X版本,比较老了

环境

[root@localhost ~]# cat /proc/version 
Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018

以上是这篇文章基于的linux环境

默认情况下,Linux会自带安装Python,可以运行python --version命令查看

[root@localhost ~]# python --version
Python 2.7.5

我们使用whereis命令查看下py的默认位置

[root@localhost ~]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
[root@localhost ~]# ls -l /usr/bin/python*
lrwxrwxrwx. 1 root root    7 3月  12 21:40 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root    9 3月  12 21:40 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 10月 31 2018 /usr/bin/python2.7

 看到/usr/bin/python和/usr/bin/python2都是软链接,/usr/bin/python指向/usr/bin/python2,而/usr/bin/python2最终又指向/usr/bin/python2.7。所以运行python/python2/python2.7是一样的

安装python3 

可以去python的官网  Python Source Releases | Python.org,找到对应版本下载 (我们以Python 3.6.5为例)

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

上面的地址是海外的,国内下载可能会比较满我这里提供了镜像地址https://mirrors.huaweicloud.com/python/

用国内镜像地址下载

wget https://mirrors.huaweicloud.com/python/3.6.5/Python-3.6.5.tar.xz

准备编译环境(安装依赖)

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

注意:如果python是3.7版本,还需要安装libffi-devel

./configure --prefix=/usr/local/Python-3.6.5

make && make install 

--prefix=/usr/local/Python-3.6.5 指定了安装的位置

执行第一步时提示(./configure --enable-optimizations),不要执行,忽略即可(若不小心执行了,则删除解压文件Python-3.6.5.tgz重新解压即可)。执行下图命令会在make && make install 时导致 Could not import runpy module 错误

创建软链接

还记得开始,Linux已经安装了python2.7.5,这里我们不能将它删除,如果删除,系统可能会出现问题。我们只需要按照与Python2.7.5相同的方式为Python3.6.5创建一个软链接即可,我们把软链接放到/usr/local/bin目录下

[root@master Python-3.6.5]# ln -s /usr/local/Python-3.6.5/bin/python3.6 /usr/local/bin/python3
[root@master Python-3.6.5]# ls -l /usr/local/bin/
total 390160
-rwxr-xr-x. 1 root root  65770992 Dec  5 01:44 calicoctl
-rwxr-xr-x. 1 root root  23847904 Dec  5 01:43 etcd
-rwxr-xr-x. 1 root root  17620576 Dec  5 01:43 etcdctl
-rwxr-xr-x. 1 root root  46182400 Dec  5 01:44 helm
-rwxr-xr-x. 1 root root  45838336 Dec  5 01:43 kubeadm
-rwxr-xr-x. 1 root root  46907392 Dec  5 01:44 kubectl
-rwxr-xr-x. 1 root root 153350112 Dec  5 01:43 kubelet
drwxr-xr-x. 2 kube root        71 Dec  5 01:45 kube-scripts
lrwxrwxrwx  1 root root        37 Mar 18 03:54 python3 -> /usr/local/Python-3.6.5/bin/python3.6

配置环境变量

#python环境
export PYTHON_HOME=/usr/local/Python-3.6.5
export PATH=$PYTHON_HOME/bin:$PATH

检查下是否成功

[root@master ~]# python3 -V
Python 3.6.5

问题

pip3 install时报错“pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.”

先安装openssl-dev,然后重新编译安装,只是在编译的过程中加入 --enable-optimizations

ubuntu:

sudo apt-get install libffi-dev


centos7

yum install libffi-devel -y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

java-superchen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值