"Failed to execute script " py安装程序

"Failed to execute script " pyinstaller

我有一个 python 代码,我想将其转换为 exe。
我将 pyinstaller 用于:pyinstaller --onefile -w script.py
完成制作 exe 文件后,我双击该文件,但出现“无法执行脚本”。

我也尝试 运行 从 cmd 执行它,但它给出了同样的致命错误。

要添加的内容:
该代码导入了几个文件包,包括我制作的 python 代码,以及它使文件引用到它的位置。

我做错了什么吗?

脚本有这些导入:

import socket
import os
from PIL import ImageGrab
import cv2
import time
import json
import myFile

我运行 cmd下的代码,它给出了这个错误:

  File "script.py", line 3, in <module>
    from PIL import ImageGrab
ModuleNotFoundError: No module named 'PIL'

可能无关但现在我尝试做 pyinstaller --onefile -w client.py
在我 运行 它 windows 后卫在里面发现了这个 :


在 运行 之后在 pycharm 的终端中使用 :

pyinstaller --onefile --hidden-import=PIL --hidden-import=Pillow --hidden-import=pynput client.py

我收到这个错误(注意我把它从 dist 目录移到了主目录):

Traceback (most recent call last):
  File "client.py", line 7, in <module>
    import myFile
  File "PyInstaller\loader\pyimod03_importers.py", line 540, in exec_module
  File "myFile.py", line 1, in <module>
    from pynput import mouse, keyboard
  File "PyInstaller\loader\pyimod03_importers.py", line 540, in exec_module
  File "pynput\__init__.py", line 40, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 540, in exec_module
  File "pynput\keyboard\__init__.py", line 31, in <module>
  File "pynput\_util\__init__.py", line 82, in backend
ImportError
[13364] Failed to execute script client

这可能是因为 pyinstaller 无法正确找到您的依赖项并跳过了一些包。

要修复任何类似 ModuleNotFoundError: No module named 'PIL' 的错误,只需将其添加为隐藏导入即可:

pyinstaller --onefile --hidden-import=PIL -w script.py

对于第二个错误,这是 pyinstaller 和 pynput 的一个已知问题。 找到 here 一些解释。

它的 TLDR 似乎是您需要添加 --hidden-import=pynput.mouse._win32 --hidden-import=pynput.keyboard._win32 --hidden-import=pynput._util._win32 和任何其他给您错误的子包。