我已经建立了商店管理系统,并使用pyinstaller对其进行了编译,例如“ pyinstaler -F admin1.py”。
当我在计算机上运行该应用程序时,它为我提供了一个生成文件和一个dist文件。我已将dist文件夹复制到另一台计算机,但是它没有运行,因此我需要将构建文件复制到,或者是将文件复制到其他系统的另一种方法。我只使用tkinter,os模块和datetime模块,但是我将程序插入了不同的模数。
答案 0 :(得分:0)
我没有评论,因为我没有足够的声誉,但是您从尝试运行此批处理文件的另一台计算机上收到任何错误消息吗?
根据pyinstaller文档的this section,您将需要向可执行文件的接收者发送“ build”目录。这是因为构建包含脚本中的所有依赖关系。要引用有关在一个文件夹中进行导入的部分(注意:,请放心,我会看到您设置的onefile选项。这只是文档暗示您要查询的构建目录的部分):
单文件夹捆绑包的另一个优点是,当您更改代码时,只要它导入完全相同的依赖关系集,就只能发送更新的myscript可执行文件。它通常比整个文件夹小得多。 (如果更改脚本以使其导入更多或不同的依赖项,或者升级了依赖项,则必须重新分发整个捆绑软件。)
我认为-F仍会创建/ build目录(因此您仍可以跟踪依赖关系)。我将共享它,因为它也将与一个文件夹选项共享。 Pyinstaller知道要寻找Tkinter(也在上面链接的文档中),因此至少您不必担心这部分。 使用onefile时,/ dist目录应该为空,或者至少是我创建可执行文件时的目录。
尝试一种文件夹方法,然后将该文件夹发送到所需的任何计算机。让我知道是否有帮助。
TLDR; 是,共享构建文件。它包含所有依赖项。 dist文件中的“ -F”选项不应包含任何内容。