首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cx-Freeze Executable不能在另一台计算机上运行

cx-Freeze Executable不能在另一台计算机上运行
EN

Stack Overflow用户
提问于 2019-07-27 01:52:00
回答 1查看 522关注 0票数 2

我用Python写了一个程序,并用cx-Freeze创建了一个可执行文件。我必须在setup.py中包含tk和tcl库,以及一些图像,才能正确运行可执行文件。

我将这些文件链接到我的计算机上的绝对路径,认为cx-freeze会将这些文件复制到最终的可执行文件夹中,这样它就会成为自己的包的一部分。

这个程序在我的电脑上运行得很好,但不能在我同事的电脑上运行。

当.exe不能运行时,包括tcl和tk库以及图像是我故障排除过程的一部分。我不知道下一步该做什么。

代码语言:javascript
复制
'''This is my setup.py file.'''

from cx_Freeze import setup, Executable
import sys
import os

includes = []

include_files = 
 [r"C:\Users\jchoujaa\AppData\Local\Programs\Python\Python37\DLLs\tcl86t.dll",
                 r"C:\Users\jchoujaa\AppData\Local\Programs\Python\Python37\DLLs\tk86t.dll",
                 r"C:\Users\jchoujaa\Desktop\Code\STARx App\Savvy Logger\Developer\Imaging\savron.png",
         r"C:\Users\jchoujaa\Desktop\Code\STARx App\Savvy Logger\Developer\Imaging\s-icon.ico",
         r"C:\Users\jchoujaa\Desktop\Code\STARx App\Savvy Logger\Developer\Imaging\STAR.png"]

os.environ['TCL_LIBRARY'] = r'C:\Users\jchoujaa\AppData\Local\Programs\Python\Python37\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\jchoujaa\AppData\Local\Programs\Python\Python37\tcl\tk8.6'

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

setup(name = "SavvyLogger",
        version = "1.0",
        description = "Logger Interpreter",
        options={"build_exe": {"includes": includes, "include_files": include_files, 'packages': ['pandas', 'numpy']}},
        executables = [Executable("SavvyLogger.py", base=base)])

这是我的同事在尝试打开我的可执行文件时收到的错误:enter image description here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-27 03:48:05

易经翰在评论中的建议奏效了。

问题是我将tkinter使用的图片的路径设置到了我桌面上的一个文件夹中。

亨利建议我将图像文件放在与.py脚本相同的文件夹中,并从图像变量中删除路径名。

这起作用了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57224915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档