【问题标题】:Executable created by py2exe not workingpy2exe 创建的可执行文件不起作用
【发布时间】:2012-07-03 10:24:40
【问题描述】:

我在 wxPython 和使用 numpy 和 matplotlib 的函数中制作了一个 GUI。起初,它要求提供 MSVCP90.dll。我以某种方式下载了它并添加到 python DLL 中。现在,它会为项目生成 .exe 文件,但它不起作用。它只是打开'cmd'并立即关闭。我怀疑项目目录结构存在问题。

-- setup.py--

import py2exe, sys, os

setup(scripts=["Source\mainModule.py"],
  packages=[
    "Source",
    "Source.Packages_Needed",
    "Source.Packages_Needed.anomalyChecker",
    "Source.Packages_Needed.config",
    "Source.Packages_Needed.GUI_tools",
    "Source.Packages_Needed.parserTools",
    "Source.Packages_Needed.utilities",
    ],
  package_data={"Source.ltePackages.configuration" : ["*.txt"]},

)

-- setup.py--

-- 项目目录结构--

project/
      setup.py
      Source/
           mainModule.py
           __init__.py
           packages_Needed/
               __init__.py
               anomalyChecker/
                    __init__.py
                    ACModule1.py
                    ACModule2.py
                    ACModule3.py
               config/
                    __init__.py
                    dictionary.txt
                    reference.txt
                    configMod1.py
                    configMod2.py
                    configMod3.py
               GUI_tools/
                    __init__.py
                    analyzerGUI.py
               parserTools/
                    __init__.py
                    parser.py
               utilities/
                    __init__.py
                    plotter.py

-- 项目目录结构--

我正在通过以下方式运行 python setup.py:

     C:\\Path\\source> python setup.py py2exe

发出该命令后,我在 dist 中获得了一个未运行的 .exe 文件。它只是打开一个 cmd 并立即终止。

作为python的新手,我有两个疑问:

我怀疑的第 1 部分: 为什么 .exe 文件不起作用?我的 setup.py 中是否有任何错误。如果有,请指出。

我怀疑的第-2部分:

现在,我添加了 MSVCP90.dll 。成功制作运行的.exe后,如果其他系统运行我的.exe,是否需要将此dll复制到其python dll中?如果是这样,那将是很多不便。建议一种方法来避免它。

提前致谢。

编辑:我正在使用包:matplotlib 和 numpy。

【问题讨论】:

  • 在命令提示符下运行.exe,看看有没有报错。
  • 嗯...感谢您指出。错误:回溯(最近一次调用最后一次):文件“mainModule.py”,第 3 行,在 ImportError: No module named packages_Needed.GUI_tools.analyzerGUI
  • @user673919:根据您的项目结构,它应该是packages_Needed.GUI_Tools.analyzerGUI。注意到tools 中的T
  • 哦,很抱歉.. 只是问题中的一个错误。它在代码中完全正确.. 我的错。

标签: python installation py2exe


【解决方案1】:

我在 pyqt 上的 gui 遇到了同样的问题,通过包含我正在使用的 pyqt 模块解决了这个问题

setup(windows=[{"script":"myGuy.py",
  data_files = Mydata_files,
  options={"py2exe":{"includes":["sip", "PyQt4.QtCore","PyQt4.QtGui","PyQt4.QtNetwork"],'dist_dir': "myGuiNameDir"

}})

添加 options 变量并尝试使用您正在使用的 wxPython 模块将列表替换为 ["PyQt4.QtCore", "PyQt4.QtGui"]。 让我知道它是否有效。

另外,如果你厌倦了名为 dist 的 dist 目录,你可以使用 'dist dir' 来更改你的名字

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 2014-06-02
    • 2015-01-13
    • 2019-07-14
    • 2014-03-08
    相关资源
    最近更新 更多