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