Cx_freeze不适用于使用Python 3.6.2的Win 10

时间:2017-08-13 21:25:41

标签: python cx-freeze python-3.6

我开始学习一些关于Python的知识。我想将Python Tkinter应用程序转换为exe文件。当Tkinter不参与时,转换为exe工作正常。我尝试了在cx_Freeze [http://cx-freeze.readthedocs.io/en/latest/index.html]的官方网站上可以找到的setup.py和Tkinter应用程序的示例文件,但在运行build命令时仍然在CMD中发现了很多错误[例如:KeyError: 'TCL_LIBRARY']。在官方网站上声明支持Python 3.6。

以下是setup.py:

的官方示例
import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == 'win32':
    base = 'Win32GUI'

executables = [
    Executable('app.py', base=base)
]

setup(name='simple_Tkinter',
      version='0.1',
      description='Sample cx_Freeze Tkinter script',
      executables=executables
      )

以下是测试Tkinter app的官方示例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

try:
    from tkinter import Tk, Label, Button, BOTTOM
except ImportError:
    from Tkinter import Tk, Label, Button, BOTTOM

root = Tk()
root.title('Button')
Label(text='I am a button').pack(pady=15)
Button(text='Button').pack(side=BOTTOM)
root.mainloop()

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Pyinstaller代替cx_freeze,它将执行您要完成的完全相同的工作。

从pip继续并输入  pyinstaller yourprogram.py然后在您的程序目录中运行{{1}}