本文为学习记录,以防遗忘。

由于debian8 python3是3.4版本,算是比较老的了,下载不少新版本的软件只支持python3.5或者更高。所以需要再编译安装新版本。这里以安装python3.7.3为例。

首先先编译安装openssl

安装依赖:

# sudo apt install zlib1g-dev


下载源码包

# wget http://www.openssl.org/source/openssl-1.1.1.tar.gz


生成makefile文件

# cd openssl-1.1.1
# ./config --prefix=/usr/local/openssl shared zlib


编译安装

# make && sudo make install


增加动态库配置文件

# sudo echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/ssl.conf

刷新动态库缓存

# sudo ldconfig

编译安装python3.7.3

安装依赖

# sudo apt install libffi-dev

若缺少这个包,编译时候会报这个错误:no module named '_ctypes'


下载源码

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


生成makefile文件

# ./configure --prefix=/usr/local/python3.7 --with-openssl=/usr/local/openssl

编译安装

make && sudo make install


创建软连接到/usr/bin/ 路径,注意检查/usr/bin/有没有相同名字(如python3.7,pip3),若有的话,删除即可。建议不要覆盖系统自带的python3,不然会有不可预料的问题

# sudo ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7
# sudo ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3

检测pip3 是否版本是否指向python3.7

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