Python 3.5.3 上的 cx_Freeze 错误
Posted
技术标签:
【中文标题】Python 3.5.3 上的 cx_Freeze 错误【英文标题】:Errors with cx_Freeze on Python 3.5.3 【发布时间】:2017-06-26 15:51:08 【问题描述】:运行 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 没有这样做或找不到它们,我仍然会很感激。
【问题讨论】:
【参考方案1】:通过手动将 .dll 文件复制到构建目录来解决。
【讨论】:
以上是关于Python 3.5.3 上的 cx_Freeze 错误的主要内容,如果未能解决你的问题,请参考以下文章
PySide (1.1.2), cx_freeze, WinXP, Python 3.3: ImportError: DLL load failed
Python 2.7 Cx_Freeze: ImportError: No module named __startup__
Python 2.7 Cx_Freeze: ImportError: No module named __startup__