`

使用py2exe打包MySQLdb程序为exe

阅读更多

      最近写了一个日志管理的脚本LocalLogHousekeeper.py,是在ubuntu下写的。考虑测试python script的跨平台性,老大要求打包为exe程序,然后测试运行在没有安装python,没安装任何第三方插件的windows xp上。

     下面是整个流程的一个总结:

      1)在windows上安装python,选择了版本2.7.5

      2)安装easy_install,记得加入PATH

      3)安装MySQLdb module:当时使用的命令是 easy_install  MySQL-python

      4)安装py2exe [ for python 2.7] ,记得加入PATH

      5)准备log.icon

      6)准备setup.py

 

# coding: utf-8

import sys
from distutils.core import setup
import py2exe

SCRIPT = 'LocalLogHousekeeper.py'
 
#this allows to run it with a simple double click.
sys.argv.append('py2exe')
 
script = [{
    "script": SCRIPT, 
    'icon_resources': [(0, 'log.ico'),]
    }]
 
py2exe_options = {
        "includes": ["datetime","xml.*", "email.mime.text"],
        "dll_excludes": ["MSVCP90.dll","w9xpopen.exe"]
        }

setup(console=script, options={'py2exe':py2exe_options}, data_files = [('', ['LocalLogHousekeeper.config.xml'])],zipfile = None, py_modules =['MySQLdb'])

    7) python setup.py py2exe -p MySQLdb

 

部分输出如下:

The following modules appear to be missing
['ElementC14N', 'MySQLdb','_scproxy', '_sysconfigdata']

确诊是没找到MySQLdb

 

  8)卸载MySQLdb: easy_install -m  MySQL-python,找到并删除相关egg

  9)重新安装MySQLdb:  easy_install --always-unzip MySQL-python,检查C:\Python27\Lib\site-packages,已存在相关目录

 10)重新执行python setup.py py2exe -p MySQLdb,已能找到MySQLdb.仍然有

The following modules appear to be missing
['ElementC14N','_scproxy', '_sysconfigdata']

进入dist目录,运行 LocalLogHousekeeper.exe,已能成功处理log.

 

   其他总结如下(方便平台移植):

       1)尽可能用相对路径去处理资源文件(如配置文件,log文件),关键技巧是    os.chdir(os.path.dirname(sys.executable))

       2)尽可能移除不使用module的声明

       3)不要不要native code,尽量所有代码兼容 python 2.5/2.6

 

0
1
分享到:
评论

相关推荐

    mysqldb-python2.6

    本文主要针对标题中的“mysqldb-python2.6”进行深入探讨,包括其在Windows操作系统中的使用、相关依赖库的解析以及如何将项目打包成可执行文件(exe)。 首先,MySQLdb是Python 2.6版本下的一个适配器,它实现了...

    MySQL-python.exe-1.2.0.win32-py2.4.zip

    总结来说,MySQL-python.exe-1.2.0.win32-py2.4.zip是一个用于在Python 2.4环境下连接MySQL数据库的工具,它简化了Python程序与MySQL之间的交互。随着技术的发展,使用更新的Python版本和数据库连接器会带来更多的...

    python 2.7 MySQL扩展windows exe安装文件

    在Python 2.7中与MySQL交互,通常会使用一个名为`mysql-connector-python`的Python库,但是这里提到的是"Python 2.7 MySQL扩展",指的是`MySQLdb`库。`MySQLdb`是Python的一个接口,用于连接MySQL数据库,它是Python...

    新手入坑Python的坎坷历程——打包带gui的exe

    在Python编程领域,新手往往会在学习过程中遇到各种挑战,尤其是涉及到特定任务,如构建带有图形用户界面(GUI)的应用程序并将其打包成可执行文件(exe)。本文将深入探讨这个主题,帮助新手理解如何在Python中创建...

    mysqldb_presence

    2. "mysqldb_presence-2.2.0" - 这很可能是库的主目录,包含了库的所有源代码文件,包括`.py`(Python源代码)、`setup.py`(安装脚本)、`README`(使用说明)、`LICENSE`(授权信息)、`requirements.txt`(依赖项...

    flash网络游戏开发几个第三方 Python 库.pdf

    本文将重点介绍几款对于网络游戏开发者来说极为实用且高效的Python第三方库,它们分别是:wxPython、py2exe、psyco、PIL、MySQLdb以及pyprocessing。 #### 1. wxPython **简介**: wxPython是基于wxWidgets的一个...

    Python3项目开发---看图猜成语程序.zip

    对于Python项目,可以使用py2exe或PyInstaller这样的工具将Python脚本转换为独立的可执行程序。 总的来说,这个“看图猜成语”程序涵盖了Python编程的多个方面,对提升编程技能和实践经验非常有帮助。通过实践这个...

    IOMS系统开发环境配置和编译(1.5)_20120320

    - Py2exe是Windows平台上的Python打包工具,可在***和***下载到不同版本。 - Psutil是一个跨平台库,用于获取系统运行时信息,可以从***网站获取。 - wxPython为Python提供桌面应用程序的GUI工具集,可以从***...

    python连接mysql

    `setuptools`用于安装、打包和分发Python软件,它可以帮助我们管理依赖关系,构建 Eggs(一种Python的打包格式),并使用`easy_install`命令安装软件包。 最后,`MySQL-python-1.2.3.tar.gz`是一个包含Python MySQL...

    python,学生管理系统

    Python有如py2exe、PyInstaller等工具,可以将Python脚本转换为Windows下的.exe文件,或者利用Docker等技术进行跨平台部署。 以上是基于给定的标题和描述所推测的关于Python学生管理系统的一些关键知识点。实际的...

    PyPI 官网下载 | mysqlrocket-0.0.7.tar.gz

    2. `MANIFEST.in`: 控制打包时哪些文件应被包含进发布的文件列表。 3. `README`: 提供库的简要介绍、使用说明或安装指南。 4. `LICENSE`: 许可证文件,规定了库的使用、分发和修改的条款。 5. `src/` 或 `...

    python模块下载及安装方法.docx

    - **安装方法**:通过`pip install py2exe`进行安装。 12. **Pylons** - 我们领导推荐的webframework - **用途**:一种灵活的Web框架,适用于构建大型Web应用。 - **安装方法**:使用`pip install Pylons`安装。...

    Linux+Django+Python+Wsgi配置过程

    1. **打包压缩**开发代码,例如命名为 `dajie.zip`。 2. **上传并解压缩**至 `/var/www/html` 目录下: ```bash unzip dajie.zip -d /var/www/html/ ``` 3. **修改 Apache 配置文件** `httpd.conf`: ```...

    hotel-desktop-app

    9. **打包部署**:为了方便用户安装和使用,开发者可能会使用py2exe、cx_Freeze或PyInstaller这样的工具将Python应用打包成可执行文件。 10. **文档与配置**:项目可能包含README文件,说明如何运行和使用应用,...

    Python库 | td-0.3.tar.gz

    解压后,进入目录,然后使用`python setup.py install`或者如果存在`requirements.txt`,可以使用`pip install -r requirements.txt`来安装依赖。 2. **Python标准库**: Python的标准库包含了大量预装的模块,如...

    python模块下载及安装方法.pdf

    11. py2exe:将Python脚本转换为Windows可执行文件的工具,便于分发和执行。 12. Pylons:另一个Web框架,强调灵活性和高性能。 13. pysqlite2:Python连接SQLite数据库的库,SQLite是一种轻量级的嵌入式数据库。 ...

    PyPI 官网下载 | Save-to-DB-0.3.4a.tar.gz

    1. `setup.py`:这是Python项目安装的脚本,使用setuptools或distutils库来编译、打包和安装项目。 2. `MANIFEST.in`:定义了在创建源码分发版时应包含的文件列表。 3. `LICENSE`:包含了库的授权协议,比如MIT、...

    常用的python模块功能和下载地址借鉴.pdf

    11. **py2exe**:将Python脚本转换为Windows可执行文件,便于分发。 12. **Pylons**:另一个Web框架,注重简洁和灵活性。 13. **pysqlite2**:SQLite数据库的Python接口,适用于嵌入式数据库应用。 14. **python...

Global site tag (gtag.js) - Google Analytics