Windows10 安装编译后的 pysqlcipher3-1.2.1 基于 Python 3.8.10

Windows10 安装编译后的 pysqlcipher3-1.2.1 基于 Python 3.8.10

本文主要是讲直接安装编译后的文件,不一定成功,但是可以尝试使用,若无法直接安装,请参考编译过程,自行编译安装,编译过程见这里

安装 pysqlcipher3

这里用 32位 举例 因为 64位 安装完全相同,只需要把对应的位数换成 64位 版本即可

32位安装

  1. 下载编译后的源代码,点击前往蓝奏云直接下载,密码:9vad

  2. 下载后解压,得到pysqlcipher3-1.2.1-py3.8-win32文件夹,CMD下进入文件夹

# 进入文件夹
cd /d F:\pysqlcipher3-1.2.1-py3.8-win32

# 确保 Python 是32位,推荐 3.8.10 x32bit
python .\setup.py install

image

  1. 使用下面的代码测试一下
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
"""
@ File        : test.py
@ Version     : V1.0.0
@ Description :
"""
from pysqlcipher3 import dbapi2 as sqlite

conn1 = sqlite.connect("test.db")
c1 = conn1.cursor()
c1.execute("PRAGMA key='123456'")
c1.execute("""create table stocks (date text, trans text, symbol text, qty real, price real)""")
c1.execute("""insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)""")
conn1.commit()
c1.close()

conn2 = sqlite.connect("test.db")
c2 = conn2.cursor()
c2.execute("PRAGMA key='123456'")
print(c2.execute("""select * from stocks""").fetchall())
c2.close()

可能遇到问题

报错:ImportError: DLL load failed while importing _sqlite3: 找不到指定的模块。
image

开发环境解决办法: 直接安装 32位openssl,由于此编译后源代码使用 Win32 OpenSSL-1_1_1w版本构建,故推荐你也使用此版本,下载地址点击前往网盘下载 提取码:d0ht,安装后再次运行
image

通过反馈,发现会有人在用Pyinstaller打包后,运行程序也会报这个错,那你此时就可以使用-D模式,然后在对应位数的OpenSSL安装目录下的bin目录中,找到libcrypto-1_1.dll,将此 DLL 文件复制到打包得到pysqlcipher3目录下。

使用 DB.Browser.for.SQLite 3.12.2 查看
image

本文章的原文地址
GitHub主页

posted @ 2024-08-06 23:29  星尘的博客  阅读(386)  评论(3编辑  收藏  举报