这段时间做了用Python做了一个科学计算的项目,项目中用到了很多的第三方Python库,包括PyQt、traits、traitsui、matplotlib、pyface、table、numpy、tvtk等等。Python打包traits和traitsui很麻烦,选用了py2exe、bbfreeze等打包工具,最后在google的帮助下使用了py2exe解决了问题。
其主要难点是要知道你的项目中使用到的python库,然后在includes列表中添加这些Python库,以便能正确打包项目。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from distutils.core import setup
import py2exe
import os
import glob
includes = []
includes.append("sip")
includes.append('numpy')
includes.append('numpy.core')
includes.append('pygments')
includes.append('pygments.*')
includes.append('pygments.filters')
includes.append('pygments.filters.*')
includes.append('pygments.formatters')
includes.append('pygments.formatters.*')
includes.append('pygments.lexers')
includes.append('pygments.lexers.*')
includes.append('pygments.styles')
includes.append('pygments.styles.*')
includes.append('scipy')
includes.append('xml')
includes.append('lxml')
includes.append('lxml.*')
includes.append('wx')
includes.append('wx.*')
includes.append('traits')
includes.append('traits.etsconfig.api.*')
includes.append('traits.etsconfig')
includes.append('traits.etsconfig.*')
includes.append('traitsui')
includes.append('traitsui.*')
includes.append('traitsui.qt4')
includes.append('traitsui.qt4.*')
includes.append('traitsui.qt4.extra')
includes.append(&#