如何让 pyinstaller 包含导入的 .py 文件

How to get pyinstaller to include imported .py files

我有一个名为 ui.py 的 GUI 脚本,它是在 PySide 中创建的,它使用另一个名为 DataFunctions.py 的脚本中的函数。当我 运行 python 中的 ui.py 文件时,一切正常,当我 运行 ui.exe 文件时,除了按钮运行 是 DataFunctions.py 文件,它什么都不做。 在我的 ui.py 文件中,我正在导入 DataFunctions.py 和:

import DataFunctions.py

buttonAction = DataFunctions.writeFile(filename, data)

我正在使用以下代码创建 .exe:

pyinstaller ui.py -w -F

我是否以 pyinstaller 不支持的方式导入 DataFunctions.py 文件?

  1. 在导入行中删除 .py 扩展

      import Datafunctions
    
  2. 确保 Datafunctions.py 代码在同一文件夹中。

原来.exe中包含了DataFunctions.py文件,但是由于.exe是在创建的,所以里面的DataFunctions.py文件的一些文件路径设置不正确另一个文件夹。如果其他人遇到类似问题,请确保您没有指定 -w 以便您可以使用控制台调试您的 .exe。查看 here 以了解如何在 运行.

时找到 .exe 文件的位置