使用pyinstaller和pysqlcipher创建一个文件exe时出现问题

时间:2020-05-07 13:08:09

标签: python pyinstaller pysqlite pysqlcipher

我正在尝试创建一个文件.exe以在任何Windows计算机上运行,​​但是pysqlcipher遇到了问题。我回到了一些基本代码,这些代码只创建了一个带键的简单数据库,无论我使用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时,出现此错误

跟踪(最近一次通话结束): 在第1行的文件“ testdb.py”中 文件``c:\ users \ xxx \ appdata \ local \ programs \ python \ python38 \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py'',行623,位于exec_module中 在第33行中输入文件“ site-packages \ pysqlcipher3-1.0.3-py3.8-win-amd64.egg \ pysqlcipher3 \ dbapi2.py” ModuleNotFoundError:没有名为“ pysqlcipher3._sqlite3”的模块 [9248]无法执行脚本testdb

该错误引用了我的开发PC上的路径,还引用了dbapi2.py中的第33行,它是:-

from pysqlcipher3._sqlite3 import *

我已经在运行pyinstaller时尝试添加各种文件,但是我没有任何进展,我相信它并不简单,但需要帮助。

0 个答案:

没有答案