【发布时间】:2019-05-12 23:17:09
【问题描述】:
我正在尝试使用 cx_Freeze 构建一个 exe,它使用多个模块:
import tkinter as tk
from tkinter import ttk
import random, time, bluetooth, json, sys, os
from _thread import *
from threading import Thread, Lock
当我尝试构建 exe 时,它似乎运行良好:它不会引发任何错误并创建包含 exe 文件的构建文件夹。但是,当我尝试打开 exe 文件时,它根本无法打开。如果短暂似乎闪烁一个窗口,但随后消失。我的 setup.py 是这样的:
from cx_Freeze import setup,Executable
import sys
import os
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')
includes = []
include_files = []
packages = []
base = "Win32GUI"
setup(
name = 'Buzzer',
version = '0.1',
description = 'Buzzer application',
author = 'Me',
executables = [Executable('Buzzer.py')]
)
闪烁的屏幕包含以下回溯:
Traceback(最近一次调用最后一次): 运行中的文件“C:\Users\X\AppData\Local\Programs\Python\Python37\lib\site-packages\cx_Freeze\initscripts__startup__.py”,第 14 行 模块运行() 运行中的文件“C:\Users\X\AppData\Local\Programs\Python\Python37\lib\site-packages\cx_Freeze\initscripts\Console.py”,第 26 行 exec(code, m.dict) 文件“print.py”,第 1 行,在 文件“C:\Users\X\AppData\Local\Programs\Python\Python37\lib\tkinter__init__.py”,第 36 行,在 import _tkinter # 如果失败,你的 Python 可能没有为 Tk 配置 ImportError: DLL load failed: 找不到指定的模块。
【问题讨论】:
-
要在不闪烁屏幕的情况下打开程序,您可以打开终端窗口,导航到程序目录,然后将其作为命令运行。它应该告诉你哪里出了问题。
标签: python dll build exe cx-freeze