6

编辑

我正在尝试导入包algosec.models内的文件algobot

我尝试添加--hidden-import algosec,我也尝试在导入之前添加路径,sys.path.append(./../algosec) 这是我尝试运行程序时收到的错误消息:

Traceback (most recent call last):
  File "algobot_packer/algobot.py", line 2, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/cli/cli.py", line 3, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/microsoft_teams/mainloop.py", line 9, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/framework/configuration.py", line 34, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/framework/commands.py", line 22, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/framework/bot.py", line 4, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/framework/responses.py", line 9, in <module>
ModuleNotFoundError: No module named 'algosec'

文件夹结构是:

  • 算法机器人
    • 算法机器人
    • 阿尔戈赛克
    • 算法打包机
    • 皮库瓦

我使用的pyinstaller版本4.2 自上次我的可执行文件运行得很好以来没有对代码进行任何更改,但现在我每次都收到此错误。问题是 - 文件夹 'algosec' 是我项目中的一个子目录,它在 pipfile 中有记录,而且我有一段时间没有做任何更改并最近对其进行了测试(最后一次测试是在 7 月 8 日)),因此我相信这是一个依赖问题,但不确定要解决哪个或如何解决。

我尝试了多项更改,这些更改以某种方式在一次运行中起作用,但是当我再次尝试进行这些更改时,它在其他版本上失败了......

4

2 回答 2

5

您可以
--add-data "path_to_algobot:."
根据您的系统windows使用;linux使用:

它将显式地将您的 algosec 文件夹添加到包中。

于 2021-08-31T06:13:30.667 回答
1

显然,由于我采用了最高版本zeep并且deprecated没有提供固定版本,因此由于较新版本而引起了问题。我必须将它们添加到包中setup.py,该algobot包是具有固定版本的可执行文件的主包。

此外,我必须添加一个包.egg文件,以便 pyinstaller 找到它。algosec--paths

于 2021-09-02T10:19:45.090 回答