1. 程式人生 > >py2exe 2.7 將引用matplotlib庫的程式轉成exe的setup.py 的編寫

py2exe 2.7 將引用matplotlib庫的程式轉成exe的setup.py 的編寫

      最近在研究使用py2exe將py檔案轉成exe,在沒有使用第三方類庫時很順利,但是引入第三方庫的時候就出現了喝多問題,下面是我多次嘗試,然後不斷的百度和實踐摸索最終得出的setup.py的一些必要內容:

   

# !/usr/bin/env python
# -*- coding:utf8 -*-
"""
@file: setup
@author: x00347195
@time: 2016/5/17 11:31
"""

from distutils.core import setup
import py2exe
import glob
#引數項:包括引用的庫和不引用的dll
opts = {
    'py2exe': {
        "includes": ["matplotlib.backends.backend_tkagg","FileDialog"],
        'dll_excludes': ["MSVCP90.dll"]
    }
}
#matplotlib需要用到很多資料資源,這些要用data_files來引入
data_files = [
              (r'mpl-data', glob.glob(r'F:\Python\Lib\site-packages\matplotlib\mpl-data\*.*')),
              (r'mpl-data', [r'F:\Python\Lib\site-packages\matplotlib\mpl-data\matplotlibrc']),
              (r'mpl-data\images', glob.glob(r'F:\Python\Lib\site-packages\matplotlib\mpl-data\images\*.*')),
              (r'mpl-data\fonts', glob.glob(r'F:\Python\Lib\site-packages\matplotlib\mpl-data\fonts\*.*')),
              (r'mpl-data\stylelib', glob.glob(r'F:\Python\Lib\site-packages\matplotlib\mpl-data\stylelib\*.*'))
]
#最終的setup項引用了以上兩項
setup(
    # options=options,
    windows=[{"script": "PythonApplication1.py"}],#這個視窗程式屬性是window,如果是控制檯程式則是console=[{"檔名"}]
    data_files=data_files,#引用資料資源
    version='Goku 1.0',
    name='sqxu',
    options=opts,#p引用的y2exe的設定
)