簡體   English   中英

“執行腳本失敗” pyinstaller

[英]"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 的一個已知問題。 在這里找到一些解釋。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM