[英]"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.