как новичок в программировании, я создал код, который запускается на spyder (python v.3.7) на windows 10. Я хочу запустить эту маленькую программу на windows -запущенном компьютере, который не есть python программа.
Затем я неоднократно терпел неудачу в создании двоичного файла с помощью pyinstaller, auto-py-to-exe. после сборки появляется несколько сообщений об ошибках.
Не могли бы вы сообщить мне, почему это происходит и как я решаю эти проблемы?
- ПРЕДУПРЕЖДЕНИЕ: Невозможно найти пакет для требования greenlet из пакета gevent.
- ПРЕДУПРЕЖДЕНИЕ: скрытый импорт "PyQt5.sip" не найден!
- ПРЕДУПРЕЖДЕНИЕ: скрытый импорт "MySQLdb" не найден!
- ПРЕДУПРЕЖДЕНИЕ: скрытый импорт "psycopg2" не найден найдено!
- ПРЕДУПРЕЖДЕНИЕ: скрытый импорт "sqlalchemy. sql .functions.fun c" не найден!
- и сотни предупреждений о скрытом импорте "tenorflow_core._api.v2.compat. v1. ~ "не найдено ошибок.
- ВНИМАНИЕ: lib не найден: impi.dll, mpich2mpi.dll, msmpi.dll, pgf90rtl.dll, pgc14.dll, pgf90.dll
с помощью команды:
pyinstaller -y -w "C:\Users\Frankenstein\Desktop\LSR.py"
Код для файла .py приведен ниже:
import tensorflow as tf
import cv2, pyautogui
from numpy import array
from PIL import ImageFile, ImageFilter
ImageFile.LOAD_TRUNCATED_IMAGES = True
import tkinter as tk
# Selected model
CATEGORIES = ["LSR_O", "LSR_X"] # O=0, X=1
model = tf.keras.models.load_model('4-128-4-50.model')
def imaging():
# Screenshot preparation
im01 = pyautogui.screenshot(
region=(15, 220, 720, 720)).filter(
ImageFilter.MinFilter(size= 7)).resize(
(256,256)).filter(ImageFilter.MinFilter(size= 3))
im01_pixel = im01.load()
for i in range(im01.size[0]): # for every pixel:
for j in range(im01.size[1]):
if im01_pixel[i,j] != (0, 0, 0): # if not black:
im01_pixel[i,j] = (255, 255, 255) # change to white
# Fitting to model
im01_L_array = array(im01.convert('L'))
img_array = im01_L_array/255.0
new_array = cv2.resize(img_array, (128, 128))
new_array2 = new_array.reshape(-1, 128, 128, 1)
# Prediction
prediction_value = model.predict(new_array2)
pyautogui.alert(text=CATEGORIES[int(prediction_value)], title='LSR_discrimination', button='OK')
# Program execution
root= tk.Tk()
canvas1 = tk.Canvas(root, width = 300, height = 150)
canvas1.pack()
myButton = tk.Button(text='LSR_O or LSR_X?',
command=imaging,
bg='green',
fg='white',
font=10)
canvas1.create_window(150, 75, window=myButton)
root.call('wm', 'attributes', '.', '-topmost', '1')
root.mainloop()