2014-06-22 55 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 

(注:我沒有測試過)