运行Python 3.5.3和最新的cx_Freeze。构建exe时,一切运行正常。但是,当我运行exe时,我得到一条对话消息说:
# If this fails your Python may no be configured for Tk
ImportError: DLL load failed: The specified module could not be found.
我按照找到的解决方案here(使用文件方法的第二个答案,而不是明确指定路径 - 这是我首先尝试使用相同的结果)。并且尝试了找到here的解决方案,但我在运行exe时仍然遇到错误。
这是我的setup.py文件:
import os
import sys
from cx_Freeze import setup, Executable
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')
options = {
'build_exe': {
'include_files':[
os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'),
os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'),
],
},
}
setup(
name="Drawings Converter",
version="1.0",
description="Converts PDF files named by part number to PDF files named by reference number",
executables=[Executable("DrawingsConverter.py", base="Win32GUI")])
任何人都知道我可能会缺少什么?这是我第一次使用cx-Freeze,而且我对Python也很陌生。任何有助于我学会在将来避免这个问题的详细信息将非常感激。提前谢谢!
编辑:我通过将.dll文件复制到构建目录来解决了这个问题。但是,如果有人能够告诉我为什么cx_Freeze没有这样做或者找不到它们,我仍然会感激不尽。
答案 0 :(得分:0)
通过手动将.dll文件复制到构建目录来解决。