2014-06-22 56 views
0

我正在尝试使用py2exe将Python项目转换为exe文件。我的项目目录结构:在安装脚本中包含嵌套模块

project/ 
    __init__.py 
    main.py 
    src/ 
     __init__.py 
     interface/ 
      __init__.py 
      window.py 
      secondary.py 
    ui/ 
     settings.ui 
    icons/ 
     project.png 

main.py,有import src.interface.window as win声明,当我尝试创建使用py2exe exe文件,它显示一个错误信息:The following modules appear to be missing: [src.interface.window]。我不知道如何在安装脚本中包含所有模块,以便distutils可以识别它们。

我的安装脚本:

import py2exe 
from distutils.core import setup 

setup(packages=['project.src.interface'], 
     package_data={'project': ['ui/*', 'icons/*']}, 
     windows=[{'script': 'project/main.py'}], 
     options={'py2exe': {'skip_archive': True, 'includes': ['sip', 'pgmagick', 'PyQt4.QtGui', 'PyQt4.QtCore']}}) 

回答

0

试试这个(假设安装文件是在project/目录):

setup(name='project' 
     packages=['project', 'project.interface'], 
     package_dir={'project': 'src', 'project.interface': 'src/interface'}, 
     package_data={'project': ['ui/*', 'icons/*']}, 
     windows=[{'script': 'project/main.py'}], 
     options={'py2exe': {'skip_archive': True, 'includes': ['sip', 'pgmagick', 'PyQt4.QtGui', 'PyQt4.QtCore']}}) 

然后:

import project.interface.window 

(注:我没有测试过)