2012-11-24 38 views
1

我想将py文件转换为exe。 这里是我的setupfilePy2Exe和Easgui

from distutils.core import setup 
import py2exe 
setup(console=["mycode.py"]) 

代码当我使用CMD,它说: 导入错误:没有模块easygui

命名如何让py2exe了解easygui?以及numpy和mathplotlib(全部用于mycode.py)

+0

当您运行生成的exe文件时,导入错误还是失败,或者py2exe构建过程失败? – jdi

+0

它甚至没有创建exe –

回答

1

首先,使用pyinstaller。这是更新,更好(虽然我已经使用py2exe,直到切换到pyinstaller)并且它似乎有更好的食谱找到你包含的库。

但py2exe,您将需要展开的setup.py多一点告诉它包括的内容(因为他们很可能是隐藏的进口)

setup(
    console=["mycode.py"], 
    options={ 
     "py2exe": { 
      "includes": ["easygui"], 
      "bundle_files": 1 
     }, 
    }, 
    zipfile = None, 
) 

如果无法建立,那么easygui是不在你的PYTHONPATH中。确保你没有在你的脚本中做一些特殊的事情来添加一个pythonpath,这对py2exe是不可见的。

您可能需要对numpy和matplotlib这个文件做更多的工作。见this wiki for help

+0

谢谢你的帮助,我现在有一个新的错误,它现在创建dist文件,实际上似乎是承认easygui和matplot lib,但是当找到dll时,它会出现:***找到dll需要***错误:ligbk-win32-2.0-0.dll:没有这样的文件或目录 –

+0

我下载了该DLL,现在当我再次使用cmd它说我现在需要libgobject-2.0-0.dll –

+0

根据这个lib你可能会添加一些dll。这是否为numpy或matplot?你有没有关注这些模块的wiki? – jdi

0

相对于具体的dll的提及,我也有类似的问题,这个问题,但通过明确排除那些在设置的谎言来固定这些问题:

setup(
    console=['DET14.py'], 
    options={ 
      'py2exe': { 
         'packages' : ['matplotlib', 'pytz'], 
         'dll_excludes':['MSVCP90.DLL', 
             'libgdk-win32-2.0-0.dll', 
             'libgobject-2.0-0.dll', 
             'libgdk_pixbuf-2.0-0.dll'], 
         'includes':['scipy.sparse.csgraph._validation', 
          'scipy.special._ufuncs_cxx'] 
         } 
      }, 
    data_files=matplotlib.get_py2exe_datafiles() 
)` 

我要说尝试添加排除以将设置声明。