2

假设我有 5 个不同的 python 文件: main.py, first.py, second.py, third.py, last.py

之后的每个文件main.py都通过 屏幕上的按钮执行不同的操作main.py。我知道如何使用 py2exe:

from distutils.core import setup
import py2exe

setup(console=['main.py'])

现在,我将如何将所有这些编译成 EXE 文件,以便我仍然可以使用按钮打开其他 .py 文件?

4

2 回答 2

1

您可以将每个文件单独编译成 EXE 文件,然后修改 main.py 中的代码以调用 EXE 文件而不是 .py 文件中的函数。

于 2013-08-08T13:15:50.230 回答
1

我没有意识到的是,我将其他文件导入到main.py文件中,它们变成了模块!当您使用 py2exe 时,它​​会编译模块。然后可以在程序中使用这些,例如:

main.py

from first '''Python File Name''' import *
from Tkinter import *
import tkMessageBox

root = Tk()
def helloCallBack():
      tkMessageBox.showinfo(hi_function('Joe'))

B = Button(root, text ="Click Me", command = helloCallBack)

B.pack()
root.mainloop()

first.py

def hi_function(name):
   return 'Hello %s'%(name)

Python 将first.py其作为模块导入。Py2exe 接收模块main.py并将它们转换为 PYD 文件。所以,最主要的是,你不需要修改代码来调用 .exe 文件。简单地说,只需将其他 .py 文件作为模块导入,py2exe 将完成剩下的工作。

我将把它放在社区 wiki 上供其他人学习。

于 2013-08-08T23:04:01.243 回答