- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个 .exe 文件以在任何 Windows 机器上运行,但我遇到了 pysqlcipher 的问题。我已经回到一些基本代码,这些代码只是用一个 key 创建一个简单的数据库,在我的开发机器上,无论我使用 python 文件还是编译的 exe,都可以正常工作。我似乎缺少图书馆、路径或两者兼而有之?我尝试使用 --add-data 添加各种项目,但花了几个小时没有取得任何进展。这是 python 的基本部分:-
from pysqlcipher3 import dbapi2 as sqlite
import os
import sys
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
conn = sqlite.connect('test.db')
c = conn.cursor()
c.execute("PRAGMA key='password'")
c.execute('''create table stocks (date text, trans text, symbol text, qty real, price real)''')
c.execute("""insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)""")
conn.commit()
c.close()
当我在不同的 Windows 10 PC 上运行 exe 时出现此错误
回溯(最近调用最后): 文件“testdb.py”,第 1 行,位于 文件“c:\users\xxx\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”,第 623 行,在 exec_module 中 文件“site-packages\pysqlcipher3-1.0.3-py3.8-win-amd64.egg\pysqlcipher3\dbapi2.py”,第 33 行,位于ModuleNotFoundError:没有名为“pysqlcipher3._sqlite3”的模块[9248] 无法执行脚本 testdb
该错误引用了我的开发 PC 上的路径,还引用了 dbapi2.py 中的第 33 行,即:-
从 pysqlcipher3._sqlite3 导入 *
我尝试在运行 pyinstaller 时添加各种文件,但我没有取得任何进展,我确信这并不简单,但需要帮助。
最佳答案
我前一段时间遇到了类似的问题,对我有用的一件事是在 pyinstaller 的规范文件中添加 sqlite3 dll。也可以从命令行添加它。之前我尝试过很多其他的东西,比如重新创建一个 conda 环境和重建我的 python 包,但那没有用。在您添加 pyinstaller 二进制文件的规范文件中,请尝试类似的操作。
binaries=[('C:\\Users\\myname\\newfolder\\sqlite3.dll','.')]
您可以从https://www.sqlite.org/download.html 下载DLL。取决于 windows 或 linux 平台。添加 dll 并重新编译后应该没问题。我认为此错误主要发生在 dbapi2 请求 sqlite3 dll 时,在我的情况下,DLL 文件夹中缺少 atlease。我刚刚下载并将它添加到我的规范文件中,但您也可以尝试将它添加到 hookspath 或 ENV 文件夹中。
关于python - 使用 pyinstaller 和 pysqlcipher 创建一个文件 exe 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61658608/
我可以使用 pysqlcipher 创建加密数据库,并使用 pysqlcipher 打开它,但不知何故,当从源代码安装 sqlcipher 时,我无法使用安装在 Mac OS X 上的 sqlciph
我正在尝试向我的程序添加一些代码来加密我使用的 sqlite 数据库。我正在尝试提示用户输入密码,并使用该密码创建一个新的加密数据库(如果它不存在),或者解密并加载现有的数据库。似乎没有太多我能找到的
我正在尝试创建一个 .exe 文件以在任何 Windows 机器上运行,但我遇到了 pysqlcipher 的问题。我已经回到一些基本代码,这些代码只是用一个 key 创建一个简单的数据库,在我的开发
我有 Python 3.4.2,我尝试在装有 Windows 8 的电脑上安装 pysqlcipher。在我的命令提示符下输入以下代码后: git clone https://github.com/l
我最近在 Windows 7 上安装了 Python 2.7。我还为 python、MinGW 安装了 setuptools 和 pip,Visual C++ for Python和 OpenSSL
我是一名优秀的程序员,十分优秀!