squish连接sqlite3失败-如何解决

问题描述

squish是一个自动化测试工具

squish安装是默认选择python3.8版本,执行test.py, 尝试使用squish连接数据库,但是一直报错

test.py包含以下内容:

import sqlite3

dbPath = "/home/wondfo/user.db"

#获取DB连接

def main():

    conn = sqlite3.connect(dbPath)

    cursor = conn.cursor()

    test.log("数据库链接成功")

现象:远行报错Detail ModuleNotFoundError: No module named '_sqlite3'

心里路程

最开始以为是squish版本不兼容的问题(以前的同事说过squish这个版本最好使用py2.X 版本,3.X有好多内容不兼容),然后将squish卸载后重新安装选择2.7版本,远行任然会报错

继续排查,使用本地安装的pycharm运行test.py可执行成功,但是squish不行 可以断定是squish自带的python库有问题,将本地的python3.8软连接至squish对应的python3目录下

具体操作

1.squish的安装路径下/home/squish-for-qt-6.7.1/python3/bin,删除原来的python3和python3.8

命令:rm -rf 

2.再将本地安装的py3.8软连接至squish自带的python目录下

ln -s /usr/bin/python3.8 /home/squish-for-qt-6.7.1/python3/bin/python3.8

ln -s /usr/bin/python3 /home/squish-for-qt-6.7.1/python3/bin/python3

PS:都要使用绝对路径

3.操作完成后,进入squish的python目录下,使用命令行./python3.8 test.py 可以执行成功

但是打开squish工具再运行test.py 仍会报相同的错误Detail ModuleNotFoundError: No module named '_sqlite3' 根本问题还是没有解决

4.使用命令查看_sqlite3.so 存在的路径情况,命令:find / -name _sqlite*.so 

返回查询的结果中 没有squish的python3.8路径下果然没有_sqlite3.so类文件

5.然后将本地python3.8目录下的_sqlite3.cpython-38-x86_64-linux-gnu.so复制到/home/squish-for-qt-6.7.1/python3/bin/python3.8目录 下  重新打开squish运行test.py可运行成功

由于时间长了,能体现过程的图片没有及时保存,只能简单文字描述

总结

        在最开始报错运行报错的时候,如果使用具体操作-4的命令去排查可能解决的更快一些,但百度的结果也不是每个都能精准指到问题所在,不过在查找资料的过程中也学到了一些额外的知识.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值