python - 如何在 Linux 中为 MySQL+Python 创建可执行文件?

标签 python mysql

我有 python 代码,它使用 MySQL 数据库。如何创建包含两者的 Linux 可执行文件? python 代码也依赖于一些共享对象。这些也需要包含在可执行文件中。

最佳答案

您可以采用几种不同的途径,这取决于您的需要。

Debian/RPM 打包

此方法涉及创建一个可以使用包管理器安装的 linux 包。

优点:它可以引入 mysql 和外部库,得到很好的支持,在大多数 Linux 系统(Muon、synaptics、ubuntu 软件管理器)上都带有处理包的应用程序,如果使用则通过存储库更新,新手友好

缺点:特定于包管理器标准(yum/apt),需要处理的不仅仅是 python 代码,仅限 *nix(无 Windows),需要在某处托管文件或访问存储库

Github/VCS 和可执行脚本

此方法涉及要求用户 checkout 一个普通的 git 存储库,其中包含一些他们可以运行的脚本来完成您的工作。

优点:易于部署和更新,对开发人员友好 缺点:没有依赖检查,除非你自己构建它,需要安装 git 或其他控制版本软件,不太用户友好

Pip/设置工具

此方法涉及创建一个(通常)仅限 python 的包。

优点:易于使用 PyPi 打包和分发到多个平台(https://pypi.python.org/pypi),可以安装到虚拟环境中

缺点:不处理 MySQL 或外部库,除非它们存在于 PyPi 中

自解压存档

http://xmodulo.com/how-to-create-a-self-extracting-archive-or-installer-in-linux.html

优点:简单、体积小

缺点:没有依赖性检查,需要在某处托管文件


我建议使用 Pip/Setuptools 并告诉人们安装 mysql 和任何其他您无法自行安装的依赖项。 (还有与 mysql 兼容的 mariaDB,您可能不想强行使用一个)。我会考虑包含一个配置文件(使用 configparser),这样他们就可以自己管理数据库。它减轻了您自己的负担,并提供了一种安全更新软件的绝佳方式。如果您使用像 SqlAlchemy 这样的 ORM,它还打开了使用其他数据库的可能性。

关于python - 如何在 Linux 中为 MySQL+Python 创建可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33746097/

相关文章:

python - 如何在Python中获取导入模块(包括默认)的文件名?

mysql - 为什么 nitrousio 配置 keystore 会给出 Rails 应用程序配置错误?

mysql - 以固定的时间间隔从数据库表中可靠地进行选择

php - 在页面中使用变量并在另一个页面中使用该变量

MySQL INSERT on SELECT 死锁多人游戏

python - 无法在 Mac 上安装 Robotframework

python - Django Ajax POST 请求 : Internal server error

Python 使用 lambda 将 pd.DataFrame 应用于嵌套循环是否可能?

mysql - where 子句匹配同一个表中的 2 行来获取结果

python - python异常情况下的变量范围