将Python代码导出为可执行文件

时间:2018-04-23 14:59:51

标签: python tkinter exe

我使用tkinter和这些模块编写了Python代码:

import tkinter as tk
from PIL import ImageGrab
from tkinter.colorchooser import *
from tkinter import filedialog

你能否告诉我,如何通过导出/转换为Windows来实现它?可执行文件(exe)?我目前正在尝试通过pyinstaller来做,所以如果你能给我一些建议去做它(我开放给另一个简单的替代品:))

3 个答案:

答案 0 :(得分:1)

看看cx_freeze,我认为这是最简单的方法:http://cx-freeze.readthedocs.io/en/latest/

答案 1 :(得分:1)

就像@ E.B的回答一样,cx_freeze是一个选择,但如果它太复杂了,你可以试试Pyinstaller,这是一个更简单的基于命令行的工具。

答案 2 :(得分:0)

  

当我将应用程序与Pyinstaller捆绑在一起时,这些模块是否会自动打包到.exe文件中吗?

是的。只要它们是packages supported by PyInstaller之一或standard library的一部分,就有些例外。

事实上,PyInstaller文档(上面链接)说:

  

大多数软件包将与PyInstaller一起使用。

     

对于纯Python软件包和不需要其他文件的软件包尤其如此。

     

对于Python标准库中的软件包,我们仅列出无法正常工作的异常;因此,如果未列出,它将正常工作。

Tkinter是标准库的一部分,没有列出 ,而Pillow库(PIL软件包)则是。因此,这应该可以立即使用。

最终,您必须尝试一下才能看到。受以上代码的启发,这是一个独立的示例,该示例进行屏幕截图,打开Tkinter提供的“另存为”对话框,让用户指定文件名,然后使用以下命令将屏幕截图保存为PNG图像枕头:

from PIL import ImageGrab
from tkinter import filedialog

screenshot = ImageGrab.grab()
filename = filedialog.asksaveasfilename()
screenshot.save(filename)

如果已安装.exe,则可以在(Windows)命令提示符下使用以下命令将其捆绑为pyinstaller(Windows)应用程序:

pyinstaller --windowed --onefile example.py

(已在Windows 10,Pillow 6.1.0,pyInstaller 3.5上使用Python 3.7.4(包括Tkinter)进行测试。)