[英]How do I package an Sqlite3 database with my Python3 fbs package?
我正在使用 FBS 構建 Python 應用程序,但其中一部分依賴於 SQLite3 數據庫。 如果沒有找到這個數據庫,我有代碼來創建這個數據庫,使用 try-catch 塊。
當我編譯后嘗試運行它時,它不僅找不到預先存在的SQLite3文件,而且也不會創建它。 它不顯示任何錯誤消息。
如果文件不存在,我嘗試使用以下代碼創建文件:
try:
self.connection = sqlite3.connect(path)
self.cursor = self.connection.cursor()
except:
if not os.path.exists(path):
# Try and make the .config directory
try:
os.makedirs(".config")
except OSError as e:
if e.errno != errno.EEXIST:
raise
# Create the datastore, and close it
f = open(path, "w+")
f.close()
# And try connect to database again
return self.__connect(path)
else:
print(f"No database exists, and could not create one.\nPlease create file in app directory called: {path}\nThen restart application.")
raise
該代碼可以在 dev 中找到,但是一旦我將其編譯到 Mac 應用程序中,它就會拒絕查找或創建數據庫。
固定的。 如果有人有類似的問題,請使用內置的appctxt.get_resource(file_path)
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.