源码安装由3个步骤组成:
- 配置(configure)
- 编译(make)
- 安装
参考:
https://blog.csdn.net/qq_42353939/article/details/94609591
https://www.cnblogs.com/yy-cxd/p/11063887.html
一、安装包下载
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz #包下载
tar -xvJf Pyton-3.7.0.tar.xz #解压缩
cd Python-3.7.0 #切换目录
二、配置编译
./configure prefix=/usr/local/python3 #指定安装目录
make #编译
make install #安装
configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。
其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
如果配置了--prefix,如:
$ ./configure --prefix=/usr/local/linuxidctest
安装后的所有资源文件都会被放在/usr/local/linuxidctest目录中,不会分散到其他目录。
使用--prefix选项的另一个好处是方便卸载软件或移植软件
- 当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载干净;
- 移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统下)
三、建立软连接,加入到PATH路径中
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 #python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 #pip3
#如果安装完成后安装目录bin下没有pip3则要查看是否安装失败,正常python3安装完,pip3都是自动安装了
python3 -V #查看是否安装成功
pip3 -V #查看是否安装成功
四、报错解决
安装时报错ModuleNotFoundError: No module named '_ctypes'的解决办法,执行以下命令
yum install libffi-devel -y
五、关于卸载
如果安装的时候指定了--prefix,直接删除就好。