阿里云安装python3.7.2一键脚本_在阿里云CentOS服务器上安装Python3.7并设置为默认Python...

本文介绍了如何在阿里云CentOS 7服务器上安装Python3.7.4,并将其设置为默认Python,同时保留Python2.7以供系统使用。详细步骤包括安装依赖、下载Python源码、编译安装、创建软链接以及配置pip3。
摘要由CSDN通过智能技术生成

1.引言

Linux操作系统自带一个python2.7,没有python3,在开发的时候非常不便,因此需要安装一个python3,并且将python3设置系统默认python,同时还不能影响那些Linux系统中需要用python2的底层文件。

2. 方法

2.1 查看操作系统及Python基本信息

cat /etc/redhat-release # 查看内核版本

python -V # 查看python版本

which python # 查看python路径

我这边的系统的内核为CentOS 7,默认python的版本为2.7.5,路径为/usr/bin/python。

然后我们导航到该目录,查看python相关文件的信息,可以看到python和python2指向的都是python2.7。

[root@libra-server ~]# cd /usr/bin

[root@libra-server bin]# ll python* # 查看以python开头的文件信息

lrwxrwxrwx. 1 root root 7 Oct 15 2017 python -> python2

lrwxrwxrwx. 1 root root 9 Oct 15 2017 python2 -> python2.7

-rwxr-xr-x. 1 root root 7136 Aug 4 2017 python2.7

2.2 安装依赖包(编译,安装程序等所需)

yum -y groupinstall "Development tools"

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

yum -y install readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

yum -y install libffi-devel

(如果是RedHat/CentOS平台,用yum install;如果是Ubuntu/Debian平台,用apt-get install)

2.3 下载Python

到Python官方页面选择一个版本的Python:Python Source Releases,选择“XZ compressed source tarball

然后用wget命令下载到用户目录

[root@libra-server bin]# cd ~

[root@libra-server ~]# wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz

下载完毕后可以看到Python源码已经静静的躺在你的目录里了,

[root@libra-server ~]# ls

Python-3.7.4.tar.xz QQ9.0.9_1.exe wget-log

2.4 编译并安装Python

首先对刚刚下载的压缩包进行解压,

[root@libra-server ~]# tar -xvJf Python-3.7.4.tar.xz

进入解压后的目录,可以看到Python的源码文件,其中configure用来配置,配置完成后会生成用来安装的Makefile,

[root@libra-server ~]# cd Python-3.7.4

[root@libra-server Python-3.7.4]# ll

total 1060

-rw-r--r-- 1 501 501 10953 Jul 9 02:03 aclocal.m4

-rw-r--r-- 1 501 501 631 Jul 9 02:03 CODE_OF_CONDUCT.rst

-rwxr-xr-x 1 501 501 44166 Jul 9 02:03 config.guess

-rwxr-xr-x 1 501 501 36251 Jul 9 02:03 config.sub

-rwxr-xr-x 1 501 501 503641 Jul 9 02:03 configure

-rw-r--r-- 1 501 501 167840 Jul 9 02:03 configure.ac

drwxr-xr-x 18 501 501 4096 Jul 9 02:31 Doc

drwxr-xr-x 2 501 501 4096 Jul 9 02:03 Grammar

drwxr-xr-x 3 501 501 4096 Jul 9 02:03 Include

-rwxr-xr-x 1 501 501 7122 Jul 9 02:03 install-sh

drwxr-xr-x 33 501 501 4096 Jul 9 02:03 Lib

-rw-r--r-- 1 501 501 12769 Jul 9 02:03 LICENSE

drwxr-xr-x 2 501 501 4096 Jul 9 02:03 m4

drwxr-xr-x 8 501 501 4096 Jul 9 02:03 Mac

-rw-r--r-- 1 501 501 63658 Jul 9 02:03 Makefile.pre.in

drwxr-xr-x 2 501 501 4096 Jul 9 02:31 Misc

drwxr-xr-x 13 501 501 4096 Jul 9 02:03 Modules

drwxr-xr-x 4 501 501 4096 Jul 9 02:03 Objects

drwxr-xr-x 2 501 501 4096 Jul 9 02:03 Parser

drwxr-xr-x 6 501 501 4096 Jul 9 02:03 PC

drwxr-xr-x 2 501 501 4096 Jul 9 02:03 PCbuild

drwxr-xr-x 2 501 501 4096 Jul 9 02:03 Programs

-rw-r--r-- 1 501 501 43204 Jul 9 02:03 pyconfig.h.in

drwxr-xr-x 3 501 501 4096 Jul 9 02:03 Python

-rw-r--r-- 1 501 501 10113 Jul 9 02:03 README.rst

-rw-r--r-- 1 501 501 103776 Jul 9 02:03 setup.py

drwxr-xr-x 23 501 501 4096 Jul 9 02:03 Tools

配置安装目录,

[root@libra-server Python-3.7.4]# ./configure prefix=/usr/local/python3 --enable-optimizations

注:有时候如果加上开启优化选项 "--enable-optimizations",下面编译 make 时会报错“Fatal Python error: _PySys_BeginInit: can't initialize sys module”,可能和内核版本有关系,如果报错可以去掉该选项然后重新配置并编译。

编译并安装Python

[root@libra-server Python-3.7.4]# make

[root@libra-server Python-3.7.4]# make install

然后cd到 /usr/local,可以看到python3已经安装好了

[root@libra-server bin]# cd /usr/local/

[root@libra-server local]# ls

aegis bin etc games include lib lib64 libexec python3 sbin share src

2.5 将python3添加到系统命令

将 /python3/bin中的python3 软链到 /usr/bin/python,使以后执行 python 命令时都会指向 python3

[root@libra-server ~]# ln -s /usr/local/python3/bin/python3 /usr/bin/python

然后执行python,可以发现已经是3.7.4版本的了

[root@libra-server ~]# python

Python 3.7.4 (default, Aug 21 2019, 15:07:15)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>>

2.6 将需要python2的程序重定向到python2

由于yum需要python2,所以需要把yum文件重新指向python2

[root@libra-server ~]# vi /usr/bin/yum

然后将第一行的#!/usr/bin/python更改为#!/usr/bin/python2,yum就可以执行了。

同理,/usr/libexec/urlgrabber-ext-down 这个文件也做一下相同的操作

2.7 配置pip3

如下所示可以看到,pip3还没有添加进系统目录里,因此同样需要做一下软链。

[root@libra-server ~]# pip2 -V

pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)

[root@libra-server ~]# pip -V

pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)

[root@libra-server ~]# pip3 -V

-bash: pip3: command not found

将原来的pip备份,然后把pip3软链到pip,这样以后执行pip就是pip3,pip2就是pip2了:

[root@libra-server ~]# mv /usr/bin/pip /usr/bin/pip.bak

[root@libra-server ~]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

[root@libra-server ~]# pip -V

pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

3. 结尾

基本上就是这样了,步骤基本上可以分为:

① 安装依赖库并备份原/usr/bin目录下的python

② 下载并编译安装python3

③ 建立python3和pip3的软链

④ 把需要python2的系统文件改写,重新指向python2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值