目录

Linux源码编译python3以及必要的依赖包libffi

Linux源码编译python3(以及必要的依赖包libffi)

目录


本文参考了

本文操作系统为银河麒麟虚拟机

1 下载python3源码

版本3.7.3  地址:

2 解压源码,进入解压的路径

3 configure

./configure --prefix=/usr/local/python3

4 make

5 sudo make install失败

这一步可能出问题。下面是我遇到的问题截图:

https://i-blog.csdnimg.cn/blog_migrate/111cdad6a1f61c6bdb973d68014c6363.png

根据 的说法,解决办法是安装libffi。下面通过编译源码安装libffi

6 源码编译libffi

6.1 下载源码3.4.4

版本3.4.4

6.2 解压,并进入解压后的路径

6.3 执行如下三步:

./configure
make
sudo make install

6.4 ldconfig

安装完成后,libffi.so安装在/usr/local/lib中。这个路径下增加的so文件不会立刻起作用,而要经过如下两步才起作用:

6.4.1 /etc/ld.so.conf

确认/usr/local/lib出现在ld.so.conf中

6.4.2 ldconfig

sudo ldconfig

https://i-blog.csdnimg.cn/blog_migrate/26c5bb488aa0631786fdc02c6bcb3fe7.png

7 sudo make install成功安装python3

回到刚才解压python3源码,并执行make和make install的路径,再次执行:

sudo make install

安装完成:

https://i-blog.csdnimg.cn/blog_migrate/282af45a1605504ef47c4074b8f403a1.png

8 建立软链接

由于银河麒麟已经预装了python2.7,所以要把新的python与旧的区别开。

8.1 建立python3的软链接

sudo ln -s /usr/local/python3/bin/python3.7 /usr/sbin/python3

完成这一步,你就可以看到python3的版本号了。

https://i-blog.csdnimg.cn/blog_migrate/be41834e221586faf9a0070cbb8fd716.png

8.2 建立pip3的软链接

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

https://i-blog.csdnimg.cn/blog_migrate/6ad55ac003763e9a7f0cdbcae47ef2ab.png