博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在CentOS 7.7 x86_64上安装python3.7.7
阅读量:4187 次
发布时间:2019-05-26

本文共 1751 字,大约阅读时间需要 5 分钟。

由于Centos 7原本就安装了python2,而且这个python2不能被删除,因为有很多系统命令,比如yum都要用到。

[root@VM_105_217_centos Python-3.6.2]# python
Python 2.7.5 (default, Aug  4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
输入python命令,查看可以得知是Python2.7.5版本。输入
which python
可以查看位置,一般是位于/usr/bin/python目录下,我这里是/bin/python。

下面介绍手动源码安装python3的方法,并且配置后可以与现有的python2并存使用。我的实操记录如下:

1.安装依赖包

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum -y install libffi-devel
yum -y install zlib*

2.下载python3.x源码

根据自己需求在官网
https://www.python.org/downloads/
下载不同版本的Python3,我下载的是目前的最新版本Python3.7.7
wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz
如果网络下载不顺利,你可以尝试使用下面的方法下载
axel -n 10 -a https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz
aria2c https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz

3.解压

tar -xvJf  Python-3.7.7.tar.xz

4.创建编译安装目录

mkdir -p /usr/local/python3 

5.安装

cd Python-3.7.7
./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl 
#第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便.
#第二个可以提高python10%-20%代码运行速度.
#第三个是为了安装pip需要用到ssl,后面报错会有提到.
make && make install
编译和安装过程中有个别警告或错误,但是不影响。编译过程中有测试用例测试,耗费时间较长。

6.创建软链接

ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

7.验证安装是否成功

python3 -V
pip3 -V
目前我们可以看到python和python3是共存的。

8.测试安装pip3了能不能正常使用

下面安装第三方库(随意下载一个就行),实测是可行的 
pip3 install pillow

 
9.更新pip,实测可行
python3 -m pip install -U pip 

参考文献
[1].https://www.cnblogs.com/xiujin/p/11477419.html
[2].https://www.cnblogs.com/FZfangzheng/p/7588944.html

 

你可能感兴趣的文章
linux中绑定80端口失败
查看>>
关于链接失败 对xxxx ‘__gxx_personality_v0’未定义的引用
查看>>
关于char*类型返回值和字符串常量
查看>>
epoll的一些关键点和总结(一)
查看>>
epoll的一些关键点和总结(二)
查看>>
关于epoll边缘触发模式(ET)下的EPOLLOUT触发
查看>>
socket TCP编程中connect的一些坑
查看>>
从C++单例模式到线程安全
查看>>
浅谈C文件编译过程
查看>>
FOJ 1001之位图数据结构对程序的优化
查看>>
盛名之下,其实难副?——再读CMU巨著CSAPP
查看>>
Python 解压稀疏矩阵
查看>>
Go 交换切片内两个索引对应的值
查看>>
Go string函数与strconv.Itoa函数的区别
查看>>
Go strings.Split函数
查看>>
Jinja2模板过滤器
查看>>
Go strings.HasPrefix函数
查看>>
Git删除文件
查看>>
登录MySQL
查看>>
获取QQ邮箱的授权码
查看>>