使用py2exe打包MySQLdb程式為exe

2021-09-01 18:10:05 字數 1358 閱讀 3280

最近寫了乙個日誌管理的指令碼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 ****** double click.

script =

py2exe_options =

setup(console=script, options=, data_files = [('', ['localloghousekeeper.config.xml'])],zipfile = none, py_modules =['mysqldb'])

7) python setup.py py2exe -p mysqldb

部分輸出如下:

確診是沒找到

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.仍然有

進入dist目錄,執行

localloghousekeeper.exe,已能成功處理log.

其他總結如下(方便平台移植):

1)盡可能用相對路徑去處理資源檔案(如配置檔案,log檔案),關鍵技巧是    os.chdir(os.path.dirname(sys.executable))

2)盡可能移除不使用module的宣告

3)不要不要native code,盡量所有**相容 python 2.5/2.6

py2exe打包問題

最近在使用python打包的時候出現很多問題 1 python程式中使用到的問題 資料庫問題 解決方法 將程式打包後,將檔案拷貝到執行檔案下。2 報錯 由於應用程式配置不正確.我拷貝exe檔案到多台電腦上執行,只有一台執行不成功,google知道是缺少dll檔案。解決方法 按照的方法依然存在問題,提...

py2exe打包步驟

from distutils.core import setup import py2exe setup console r d pythonproject shuapiao 12306.py py2exe打包步驟 1 安裝py2exe最新版 2 新建乙個python檔案命名為setup與要打包的檔...

python通過py2exe打包成exe檔案

python只有在安裝了python環境的計算機中才能執行,因此,如果想要將寫好的python指令碼在沒有python環境的計算機中執行則需要將其打包成exe檔案。打包步驟 setup.py from distutils.core import setup import py2exe setup c...