加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用cx_Freeze获取“ImportError:DLL加载失败:无法

发布时间:2020-12-20 10:33:19 所属栏目:Python 来源:网络整理
导读:我试图使用cx_Freeze 5.1.1.将.py文件转换为.exe,但每次尝试运行该文件时都会弹出ImportError:DLL加载失败.根据建议的解决方案 here和 here,我将tcl86t.dll和tk86t.dll添加到包含文件列表中.它们出现在build文件夹中,但错误消息不断弹出. 这是我的setup.py
我试图使用cx_Freeze 5.1.1.将.py文件转换为.exe,但每次尝试运行该文件时都会弹出ImportError:DLL加载失败.根据建议的解决方案 here和 here,我将tcl86t.dll和tk86t.dll添加到包含文件列表中.它们出现在build文件夹中,但错误消息不断弹出.

这是我的setup.py:

import sys
import os
from cx_Freeze import setup,Executable

os.environ["TCL_LIBRARY"] = r"C:/Users/Name/AppData/Local/Programs/Python/Python36-32/tcl/tcl8.6"
os.environ["TK_LIBRARY"] = r"C:/Users/Name/AppData/Local/Programs/Python/Python36-32/tcl/tk8.6"


base = "Win32GUI" if sys.platform=="win32" else None


build_exe_options = {"packages": ["winsound","random","time","tkinter","math"],"include_files": ['tcl86t.dll','tk86t.dll']}

setup(
name = "Game",author = "Name",description = "game description",options = {"build_exe": build_exe_options},executables = [Executable("game.py",base=base)]
)

我正在使用Python 3.6.3和Windows 10.任何帮助将不胜感激!

解决方法

在cx_Freeze版本5.1.1中,包含的模块位于构建目录的子目录库中. tcl86t.dll和tk86t.dll DLL显然也需要移动到那里.

您可以通过以下修改setup.py脚本来执行此操作:

build_exe_options = {"packages": ["winsound","include_files": [('tcl86t.dll',os.path.join('lib','tcl86t.dll')),('tk86t.dll','tk86t.dll'))]}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读