在Windows 10上使用pyinstaller转换为exe的Tkinter python脚本无法在Windows7

时间:2018-03-29 08:47:30

标签: python python-2.7 tkinter exe pyinstaller

我最近在Windows 10操作系统上使用tkinter和python 2.7开发了一个基于python的UI脚本。为了将它分发给用户,我使用pyinstaller将脚本转换为单个文件exe。 该脚本在所有Windows 10系统上运行良好,但在Windows 7上创建问题如下: "致命错误:无法运行...脚本" 我无法绕过它。 任何帮助表示赞赏。

提前完成..:)

2 个答案:

答案 0 :(得分:0)

当您使用pyinstaller将脚本编译为executable中的windows 10并希望在window 7中使用它时,它无法正常工作。

但您可以使用pyinstaller中的windows 7进行编译,并使用windows 7, 8, and 10中的可执行文件

另请注意这一点,在使用32-bit and 64-bit编译可执行文件并希望在windows 7 32-bit操作系统版本中使用它时,请考虑windows 7 64-bit版本的操作系统&# 39;工作,反之亦然。

因此,当您在windows7 32-bit版本中进行编译时,它仅适用于32-bit version of operating systems,而不适用于64-bit version of windows operating system,反之亦然

答案 1 :(得分:0)

也许你可以尝试使用cx_Freeze软件包在windows中构建你的应用程序(注意:如果你的PC是64位应用程序将在该架构中,32位如果是x86或32位)

运行cmd并输入此

pip install cx_Freeze

然后在同一目录中创建一个名为setup.py的文件,并添加以下代码:

import cx_Freeze
import sys
import os

os.environ['TCL_LIBRARY'] = "C:\\Program Files\\Python27\\tcl\\tcl8.6" #you need to ubicate the library where tcl\tcl8.6 is
os.environ['TK_LIBRARY'] = "C:\\Program Files\\Python27\\tcl\\tk8.6" #you need to ubicate the library where tcl\tk8.6 is

base = None

if sys.platform == 'win32':
base = "Win32GUI"

executables = [cx_Freeze.Executable("name_of_your_app.py", base=base, icon="icon_of_your_app.ico")]

cx_Freeze.setup(
name = "Vtext",
options = {"build_exe": {"packages":["tkinter"], "include_files":["icon_of_your_app.ico", "maybe_some_img_that_your_app_is_using.gif", "another_img.gif"]}},
version = "1.0",
description = "name_of_your_app",
executables = executables
)"""

稍后打开cmd并更改应用所在的目录,例如:

C:\Users\Myname> cd C:\Users\Myname\MyTkinterApp

然后,输入:

python setup.py build

一切都很好,你的应用程序即将建成

观看此视频了解详情:https://www.youtube.com/watch?v=HosXxXE24hA&t=0s&index=29&list=PLQVvvaa0QuDclKx-QpC9wntnURXVJqLyk