py的编译
- 下载py
- 编译
- 设置环境变量
- 问题解决:
-
- openssl问题
- 下载openssl
-
- 解压
- 编译
- 修改本地openssl
- 再次执行下py的config
本文介绍如何下载源码及编译
下载py
我的开发环境是ubuntu所以在有网的情况下,我就可以直接用apt安装
sudo apt-get install python3.8
然后本文就结束了。
还有一种情况没有外网,那么就下载源码进行编译。
下载地址:
https://www.python.org/downloads/
按需要选择个版本点击链接后就会看到源码以及macos平台的和win平台的安装包
编译
下载源码后就拿到了这个包
1.解压
xz -d xxx.tar.xz (-k 保留这个xz包)
tar -xvf ***.tar
2.设置安装目录 注意需要绝对路径
cd py目录
./configure –prefix=/xxxx/python3.8.8
3.编译
make
make install
安装完后就能看到这些
设置环境变量
一般在一个系统里面我们习惯共存py2 和py3因为他们有很大的不同
然后用软连接的方式调用
一般python调用的是python2的版本,调用python3版本的话用python3来调用
install后已经创建好了软连接
vim ~/.bashrc
export PATH=~/xxx/python3.8.8/bin:$PATH
source ~/.bashrc
查看是否生效。
问题解决:
openssl问题
我用ubuntu1804编译有如下问题
回看config发现也没check到openssl
但是查看openssl版本有的,但没有include相关的头文件调用不到
下载openssl
https://www.openssl.org/source/
解压
tar -xzvf openssl-1.1.1l.tar.gz
编译
- ./config –prefix=/usr/local/openssl
- make && make install
- 查看local是否有openssl 以及其目录下include头文件
修改本地openssl
在/etc/ld.so.conf.d/libc.conf
添加/usr/local/openssl/lib/ 一行
执行ldconfig
测试
再次执行下py的config
make && makeinstall