背景
最近比较频繁的在虚拟机上搭建环境,由于默认虚拟机上都是部署的 Python2
,所以涉及到了 Python3.7
的安装,此处进行一个过程的记录,方便后续的查看。
系统环境
1 | [root@41c0abcd92d8 tools]# cat /etc/centos-release |
安装方法
方法一:yum install
优点:操作方便,安装快捷。如果仅需要Python3,但对具体小版本无要求的情况下, 推荐该方法。
缺点:可选择的版本比较少。通过以下命令来看,基本上默认的就只有3.6.8的版本。
1 | # 查看可安装的python版本 |
方法二:通过源码安装
优点:可安装指定 Python3
的任意版本。
缺点:相对操作繁琐,需要先安装部分依赖,然后再进行编译安装。
具体操作步骤如下:
下载源码文件,推荐通过官网下载到本机,然后通过
docker cp
的方式复制到容器内。(直接在容器内下载速度可能较慢)解压相应的源码包,此处使用的是
Python-3.7.7
版本。1
[root@41c0abcd92d8 ~]# tar -xvf Python-3.7.7.tar.xz && cd Python-3.7.7/
编译
1
2[root@41c0abcd92d8 ~]# ./configure --prefix=/usr/local/python3
[root@41c0abcd92d8 ~]# make && make install软链接
1
[root@41c0abcd92d8 ~]# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
修改pip的下载源,国内源下载更快。
1
2
3
4
5
6
7mkdir ~/.pip & vi ~/.pip/pip.conf
# 插入如下内容 (pip使用阿里的镜像源下载依赖更快)
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
源码安装可能遇到的问题
问题一:未安装gcc,执行上述的步骤时会报错:error: no acceptable C compiler found in $PATH
。
1 | yum -y install gcc |
问题二:未安装zlib等依赖,执行上述步骤时会报错:zipimport.ZipImportError: can't decompress data; zlib not available
1 | 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 libffi-devel |
问题三:使用pip时报错,报错信息:broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/flask/
。
1 | # 解决办法 |