我在wxPython和函数中制作了一个GUI,这些函数使用numpy和matplotlib。起初,它要求MSVCP90.dll。我不知何故下载了它并添加到 python DLL 中。现在,它为项目生成.exe文件,但它不起作用。它只是打开"cmd"并立即关闭。我怀疑项目目录结构存在一些问题。
--setup.py --
import py2exe, sys, os
setup(scripts=["SourcemainModule.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。
上的 GUI 遇到了同样的问题,通过包含我像这样使用的 Pyqt 模块解决了
这个问题setup(windows=[{"script":"myGuy.py",
data_files = Mydata_files,
options={"py2exe":{"includes":["sip", "PyQt4.QtCore","PyQt4.QtGui","PyQt4.QtNetwork"],'dist_dir': "myGuiNameDir"
}})
添加选项变量并尝试将列表替换为 ["PyQt4.QtCore", "PyQt4.QtGui"] 由您正在使用的 wxPython 模块。让我知道它是否有效。
另外,如果您厌倦了名为 dist 的 dist 目录,您可以使用"dist 目录"来更改 hi 名称