1.原因:因为公司的环境是红帽 对应的centos是6.5
安装PYTHON3的环境异常艰难 这里用的是docker提供的 centos6.6
总体分两步 1. 安装openssl 的 1.1.1 版本
2. 安装python3.8.5 编译
1.1安装相应的依赖:
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++1.2下载openssl源代码并编译安装
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz tar -zxvf openssl-1.1.1.tar.gz cd openssl-1.1.1 ./config --prefix=$HOME/openssl shared zlib make && make install1.3设置环境变量LD_LIBRARY_PATH (重要) 这里如果不配置 后面虽然能用openssl 但还是会提示找不到_ssl模组
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile source $HOME/.bash_profile到这里 openssl安装完毕 用以下命令验证
openssl OpenSSL>version 应该显示 OpenSSL 1.1.1...... 使用命令 exit 退出2.1 下载并解压相应版本的python包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz tar -zxvf Python-3.8.5.tgz2.2 配置python 重中之重
./configure --prefix=/usr/local/python385 --enable-shared --with-openssl=/usr/local/openssl这里 enable-shared 是后面pyinstaller打包时候会遇到的问题,相当于ubuntu平台下 安装python3-dev
--with-openssl = (openssl 安装目录)
这里如果配置不对的话,后面你 import _ssl 会提示 模组找不到所以这里的正确配置是正确使用python的重中之重
2.3 安装 并加入path
make && make install echo "PATH=$PATH:/usr/local/python385/bin" >> /etc/profile source /etc/profile这样就能在centos上编译你的python项目了~!
注意:安装openssl时候可能需要安装 perl5 这个安装过程异常耗时,各位需要有耐心
另外这里配置python安装文件时候用的 是 with-openssl 并不是 with-ssl 这里跟网上教程有区别请大家注意
另外有个同学他也是在centos上打包遇到很多问题,说不定对你有帮助https://www.cnblogs.com/jerryzh/p/10937905.html 可以去看看