如何使用MariaDB使Tkinter GUI应用程序在其他PC上工作而不安装MariaDB?



大家好。请有人帮助与python应用程序和MariaDB?

我是一名海员,为了使我的燃料计算更容易,并且不花很多时间使用"燃料表"的硬拷贝来计算燃料;-我决定做一个简单的应用程序,我在MariaDB中存储所有表数据,并使用Python 3脚本和Tkinter GUI与这些数据进行交互。在我的笔记本电脑上,它工作得很好,但如果我想在我的工作PC上使用它,没有MariaDB(当然)它就无法工作。

问题:我的python脚本在任何其他pc上工作的最佳解决方案是什么?我的操作系统是Linux。工作机为Win10。但是我可以用Live CD来运行Linux,问题是我不能安装DB。如果我将编译的应用程序,可以安装在Windows上的。exe文件,如何添加到这个。exe文件我的数据库。我的应用看起来是这样的:我的脚本GUI看起来像…

我使用next imports:

''' python
from tkinter import *
from tkinter.filedialog import askdirectory, askopenfilenames, askopenfiles
import platform
import math
import mariadb
import sys
import os
from tkinter.messagebox import showerror, showinfo, askokcancel
from pathlib import Path
import insert_in_db
import db_commands_calc
'''

如果需要更多的信息,a可以提供。我是新来的IT社区,为一些错误道歉。

展开@MatsLindh的评论*(在我开始打字之后出现…)

看起来你的应用程序除了存储和检索相对较小的表之外并没有做更多的事情。您不太可能使用MariaDB来发挥其潜力,因此交换一个小的sqlite数据库,将其作为文件存储在运行代码的机器上,这比拖着整个db包要容易得多。交换sqlite就像导入它而不是mariadb并调用完全相同的SQL查询一样简单。

如果你想要别的东西被;)分散注意力,你也可以将它重写为一个web应用程序,并将其托管在许多将为你提供数据库的应用程序托管平台之一上。这样你就可以从世界上任何地方访问gui。如果你设想自己需要在没有PC的情况下从世界各地访问它,这将是考虑的解决方案,但当然它不会回答你的问题。

最后,回答其他问题:完全可以在windows上安装MariaDB,并且不需要编译任何东西:安装程序是可用的;MariaDB很大程度上是mysql的替代品,它也可以安装在windows上。无论如何,这些数据库包与你的python代码分开运行(Linux可能对你隐藏了这一点,因为我相信ubuntu在安装时启用并启动mariadb服务),你的代码只是与它通信(你在python代码中第一次调用mariadb时设置了这一点)。但是,您几乎可以肯定使用简单的sqlite文件会更好。

每次你想要使用你的应用程序时都运行一个live cd是不可能的。这也意味着需要两种媒体:一张实时cd和你的应用在某种存储设备上。

不需要编译你的python代码(如果这就是你所说的app)。只需在工作机器上安装windows版Python,然后像在linux上那样运行脚本即可。(当然,将python代码编译为独立可执行文件的工具确实存在,但可能是多余的。以我的经验来看,让重要的代码运行起来并不是一件容易的事:我曾经遇到过编译后的代码实际访问我机器上的静态资源时出现问题,因此失败了;Windows防御器拒绝允许二进制文件运行;编译后的可执行文件不能在所有平台上工作)。从你的导入判断,除了mariadb,你没有任何不在标准库中的东西,所以如果你把它换成sqlite,一切都应该运行,即使在windows(几乎)操作系统中。

*麻烦,我在看到评论交换之前就写了这个。总之。

最新更新