前言
为什么要源码编译安装呢,因为ubuntu16.04停止维护了,不能通过apt-get install python3.7安装,而ubuntu内置的是python3.5,版本太旧了,很多软件包不支持了,所以要通过源码安装python3.7
准备开始
先下载相关源码:
python3.7.5: https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
setuptools: https://pypi.org/project/setuptools/#files
pip: https://pypi.org/project/pip/#files
Install python3.7
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
configure是一个可执行脚本,它有很多选项,使用命令./configure --help输出详细的选项列表。最常用的参数是 --prefix=目录,这个目录就是软件最后的安装目录。另外编译python3.7时需要加上 --with-ssl,否则后面安装的pip将无法使用。
1. 解压
sudo tar -zxvf Python-3.7.5.tgz
2. 安装依赖
在3.7中,ctypes模块依赖包 libffi-dev .如果没有,安装会报错:ModuleNotFoundError: No module named ‘_ctypes’。 还需要安装一些其他包:
sudo apt-get install libffi-dev
sudo apt-get install libsqlite3-dev
sudo apt-get install libbz2-dev
apt-get install liblzma-dev
3. Configure
$ cd Python-3.7.5
$ ./configure --prefix=/opt/python3.7 --with-ssl
4、编译 安装
$ make
权限不够的话,就加sudo
$ make install
创建软连接
$ sudo ln -s /opt/python3.7/bin/python3.7 /usr/bin/python3.7
看是否安装成功
$ python3.7 -V
Install pip
说明:
①我都是安装在 /opt 下,基本都是需要管理员权限。
②因为我要把 pip 和 python3.7 关联在一起,所以运行 setup.py 都是用python3.7来运行的。
③安装的这个pip是包含pip和pip3的,pip是用来安装第三方模块的。
1、安装pip之前,需要安装setuptools
sudo unzip setuptools-40.6.2.zip
cd setuptools-40.6.2
sudo python3.7 setup.py build
sudo python3.7 setup.py install
2.安装pip
sudo tar -zxvf pip-18.1.tar.gz
cd pip-18.1
sudo python3.7 setup.py build
sudo python3.7 setup.py install
3、看是否安装成功
①看你 python/bin 里有没有 pip 和 pip3 的py脚本 :我的位置是/opt/python3.7/bin
看 pip 的版本信息 ,可以看到最后的括号里是绑定到的版本。如果想使用方便一些,可以创建软连接。
② 先用 " pip3 模块名 " 安装一个模块,然后用 " pip3 show 模块名 "来查看模块信息和安装位置。通过安装位置可以看出 pip 是否绑定到了你想要绑定的python版本。
参考链接: https://blog.youkuaiyun.com/qq_29837161/article/details/83616364