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

时间:2015-11-16 22:48:17

标签: python mysql

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

1 个答案:

答案 0 :(得分:0)

您可以采取一些不同的途径,这取决于您的需求。

Debian / RPM Packging

此方法涉及创建可使用包管理器安装的Linux包。

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

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

Github / VCS和可执行脚本

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

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

<强> PIP / setuptools的

此方法涉及创建(通常)仅限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和其他任何你无法自带的依赖项。 (还有mariaDB与mysql兼容,你可能不想强迫其中一个)。我想考虑包含一个配置文件(使用configparser),这样他们就可以自己管理数据库了。它减轻了您自己的负担,并提供了一种安全更新软件的绝佳方法。如果您使用像SqlAlchemy这样的ORM,它还可以使用其他数据库。