Python3缺少sqlite3或openssl的问题


最近对需要在一台内网环境的服务器上离线手动安装python3,操作系统为ubuntu16.04,遇到的问题特此记录

问题描述

在python导入模块sqlite3和openssl过程中出现如下错误:
在这里插入图片描述
手动编译python3过程中出现以下错误:
在这里插入图片描述
这些错误说明了以下几点:

  1. ssl相关的库文件libssl.so.1.1, libcrypto.so.1.1未找到

  2. sqlite3等模块相关文件未找到无法安装

  3. ssl模块由于库文件无法找到的原因,未能成功安装

那么我们一一解决以上问题。

1 手动安装openssl

从openssl官网(https://www.openssl.org/source/)下载 openssl-1.1.1i.tar.gz

1.1 编译安装

进入文件下载的路径并执行命令:

tar -zxvf openssl-1.1.1i.tar.gz
cd openssl-1.1.1i
./config --prefix=/usr/local/openssl
make
sudo make install

1.2 执行命令

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl #建立软连接
cd /usr/local/openssl
ldd /usr/local/openssl/bin/openssl
cat '/usr/local/openssl/lib' >> /etc/ld.so.conf 
ldconfig
export OPENSSL=/usr/local/openssl/bin   #添加环境变量
export PATH=$OPENSSL:$PATH:$HOME/bin

1.3 查看版本

openssl version

正常显示版本则安装完成!

1.4 建立软链接

然后我们发现第一个问题还未解决,原因是/usr/lib/下还没有openssl相关的库文件,我们通过软链接解决:

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

那么第一个问题得以解决。

2 手动安装sqlite3

执行以下命令下载 sqlite-3.5.6 源码:

wget http://www.sqlite.org/sqlite-3.5.6.tar.gz

2.1 编译安装

tar -xzvf sqlite-3.5.6.tar.gz
cd sqlite-3.5.6
./configure --prefix=/usr/local/sqlite3
make
sudo make install

安装完成后目录在/usr/local下

2.2 查看版本

sqlite3 -version

正常显示版本则安装完成!

3 手动安装python3

执行以下命令下载 python3.6.9 源码:

 wget https://www.python.org/ftp/python/3.6.9/Python-3.69.tgz

3.1 编译安装

cd Python-3.6.9
LD_RUN_PATH=/usr/local/sqlite3/lib
export LDFLAGS="-L/usr/local/sqlite3/lib -L/usr/local/openssl/lib"
export CPPFLAGS="-I /usr/local/sqlite3/include -I /usr/local/openssl/include"
export PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig"
./configure --prefix=/usr/local/python3.6 --enable-shared CFLAGS=-fPIC --with-openssl=/usr/local/openssl
make
sudo make install
sudo sh -c "echo '/usr/local/python3.6/lib' >> /etc/ld.so.conf"

以上命令将sqlite3的目录加入python3的编译环境变量,使得python3编译过程中能够正确找到sqlite3的库文件路径,问题2,3得以解决。

3.2 建立软链接

sudo mv /usr/bin/python3 /usr/bin/python3.bk
sudo ln –s /usr/local/python3/bin/python3.6 /usr/bin/python3

3.3 查看版本

python3 --version

显示Python 3.6.9则安装成功。

4 查看结果

执行 python3,如显示如下结果则成功:
在这里插入图片描述

参考文章

https://blog.csdn.net/moyi100/article/details/81909613

https://blog.csdn.net/zd147896325/article/details/80092563

https://blog.csdn.net/qq_42805358/article/details/103991134

https://blog.csdn.net/may0324/article/details/84590174


(全文完)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值