python - Pyinstaller - 转换为 .exe 的 python 脚本未按预期方式执行程序

标签 python python-3.x opencv pyinstaller

我希望使用 Pyinstaller 将我的 .py 脚本(执行时完美运行)转换为 .exe,但是当转换完成并启动新制作的 .exe 文件时,cmd 会弹出并带有闪烁的光标,但没有任何 react 然后。我尝试过不同的转换方式,例如 pyinstaller -F script.pypyinstaller --onefile -w script.py但它从来没有任何效果。然后我尝试从cmd启动它,没有区别。但是我做了一个测试脚本,它只是打印出“hello world”作为输出并且它有效。在实际转换的过程中似乎没有发生任何可疑的事情,除了没有检测到某些模块,但如果我理解正确,它们不一定是必需的。 (所以我得出结论,这不是问题,但以防万一会包含警告消息)
警告-my_script.txt


This file lists modules PyInstaller was not able to find. This does not
necessarily mean this module is required for running you program. Python and
Python 3rd-party packages include a lot of conditional or optional modules. For
example the module 'ntpath' only exists on Windows, whereas the module
'posixpath' only exists on Posix systems.

Types if import:
* top-level: imported at the top-level - look at these first
* conditional: imported within an if-statement
* delayed: imported from within a function
* optional: imported within a try-except-statement

IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
           yourself tracking down the missing module. Thanks!

missing module named pyimod03_importers - imported by C:\Users\Mushasha\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (top-level)
missing module named StringIO - imported by PyInstaller.lib.modulegraph._compat (conditional), PyInstaller.lib.modulegraph.zipio (conditional), setuptools._vendor.six (conditional), pyscreenshot.plugins.pyside2_grabwindow (conditional), pyscreenshot.plugins.pyside_grabwindow (conditional), pyscreenshot.plugins.qt4grabwindow (conditional), pyscreenshot.plugins.qt5grabwindow (conditional), pyscreenshot.plugins.qtpy_grabwindow (conditional), pkg_resources._vendor.six (conditional)
missing module named 'pkg_resources.extern.pyparsing' - imported by pkg_resources._vendor.packaging.markers (top-level), pkg_resources._vendor.packaging.requirements (top-level)
missing module named _posixshmem - imported by multiprocessing.resource_tracker (conditional), multiprocessing.shared_memory (conditional)
missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named grp - imported by shutil (optional), tarfile (optional), pathlib (delayed), distutils.archive_util (optional)
missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), pathlib (delayed, conditional, optional), http.server (delayed, optional), webbrowser (delayed), netrc (delayed, conditional), getpass (delayed), distutils.util (delayed, conditional, optional), distutils.archive_util (optional)
missing module named urllib.pathname2url - imported by urllib (conditional), PyInstaller.lib.modulegraph._compat (conditional)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level), PyInstaller.loader.pyimod02_archive (delayed)
missing module named _scproxy - imported by urllib.request (conditional)
missing module named termios - imported by tty (top-level), getpass (optional)
missing module named resource - imported by posix (top-level), test.support (optional)
missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional)
missing module named win32evtlog - imported by logging.handlers (delayed, optional)
missing module named win32evtlogutil - imported by logging.handlers (delayed, optional)
missing module named _posixsubprocess - imported by subprocess (optional), multiprocessing.util (delayed)
missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level)
missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level)
missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional)
missing module named 'org.python' - imported by pickle (optional), xml.sax (delayed, conditional), setuptools.sandbox (conditional)
missing module named _uuid - imported by uuid (optional)
missing module named netbios - imported by uuid (delayed)
missing module named win32wnet - imported by uuid (delayed)
missing module named posix - imported by os (conditional, optional), shutil (conditional)
missing module named readline - imported by cmd (delayed, conditional, optional), code (delayed, conditional, optional), pdb (delayed, optional)
missing module named __builtin__ - imported by pkg_resources._vendor.pyparsing (conditional), setuptools._vendor.pyparsing (conditional)
missing module named ordereddict - imported by pkg_resources._vendor.pyparsing (optional), setuptools._vendor.pyparsing (optional)
missing module named org - imported by copy (optional)
missing module named _manylinux - imported by pkg_resources._vendor.packaging.tags (delayed, optional), setuptools._vendor.packaging.tags (delayed, optional)
missing module named 'com.sun' - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional)
missing module named com - imported by pkg_resources._vendor.appdirs (delayed)
missing module named win32api - imported by distutils.msvccompiler (optional), pkg_resources._vendor.appdirs (delayed, conditional, optional)
missing module named win32com.shell - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional)
missing module named _winreg - imported by platform (delayed, optional), pkg_resources._vendor.appdirs (delayed, conditional)
missing module named pkg_resources.extern.packaging - imported by pkg_resources.extern (top-level), pkg_resources (top-level)
missing module named pkg_resources.extern.appdirs - imported by pkg_resources.extern (top-level), pkg_resources (top-level)
missing module named 'pkg_resources.extern.six.moves' - imported by pkg_resources (top-level), pkg_resources._vendor.packaging.requirements (top-level)
missing module named pkg_resources.extern.six - imported by pkg_resources.extern (top-level), pkg_resources (top-level)
missing module named vms_lib - imported by platform (delayed, conditional, optional)
missing module named java - imported by platform (delayed)
missing module named wx - imported by pyscreenshot.plugins.wxscreen (delayed)
missing module named olefile - imported by PIL.MicImagePlugin (top-level), PIL.FpxImagePlugin (top-level)
missing module named 'PySide2.QtCore' - imported by PIL.ImageQt (conditional, optional)
missing module named PySide2 - imported by PIL.ImageQt (conditional, optional), pyscreenshot.plugins.pyside2_grabwindow (delayed)
missing module named 'PyQt5.QtCore' - imported by PIL.ImageQt (conditional, optional)
missing module named cffi - imported by win32ctypes.core (optional), PIL.Image (optional), PIL.PyAccess (optional), PIL.ImageTk (delayed, conditional, optional)
missing module named PIL._imagingagg - imported by PIL (delayed, conditional, optional), PIL.ImageDraw (delayed, conditional, optional)
missing module named qtpy - imported by pyperclip (delayed, conditional, optional), pyscreenshot.plugins.qtpy_grabwindow (delayed)
missing module named PyQt5 - imported by pyperclip (delayed, conditional, optional), pyscreenshot.plugins.qt5grabwindow (delayed)
missing module named PyQt4 - imported by pyperclip (delayed, conditional, optional), pyscreenshot.plugins.qt4grabwindow (delayed)
missing module named PySide - imported by pyscreenshot.plugins.pyside_grabwindow (delayed)
missing module named objc - imported by pyscreenshot.plugins.mac_quartz (delayed)
missing module named 'Quartz.CoreGraphics' - imported by pyscreenshot.plugins.mac_quartz (delayed)
missing module named Cocoa - imported by pyscreenshot.plugins.mac_quartz (delayed)
missing module named LaunchServices - imported by pyscreenshot.plugins.mac_quartz (delayed)
missing module named Quartz - imported by pygetwindow._pygetwindow_macos (top-level), pyautogui._pyautogui_osx (optional), pyscreenshot.plugins.mac_quartz (delayed)
missing module named 'jeepney.integrate' - imported by pyscreenshot.plugins.gnome_dbus (delayed, optional), pyscreenshot.plugins.kwin_dbus (delayed, optional)
missing module named jeepney - imported by pyscreenshot.plugins.gnome_dbus (delayed, optional), pyscreenshot.plugins.kwin_dbus (delayed, optional)
missing module named 'jeepney.wrappers' - imported by pyscreenshot.plugins.kwin_dbus (delayed, optional)
missing module named gtk - imported by pyperclip (delayed, conditional, optional), pyscreenshot.plugins.gtkpixbuf (delayed)
missing module named 'gi.repository' - imported by pyscreenshot.plugins.gdk3pixbuf (delayed)
missing module named gi - imported by pyscreenshot.plugins.gdk3pixbuf (delayed)
missing module named 'Xlib.XK' - imported by pyautogui._pyautogui_x11 (top-level)
missing module named 'Xlib.ext' - imported by pyautogui._pyautogui_x11 (top-level)
missing module named Xlib - imported by mouseinfo (conditional), pyautogui._pyautogui_x11 (top-level)
missing module named 'Xlib.display' - imported by pyautogui._pyautogui_x11 (top-level)
missing module named AppKit - imported by pyperclip (delayed, conditional, optional), pyautogui._pyautogui_osx (top-level)
missing module named Tkinter - imported by pymsgbox (conditional, optional), mouseinfo (conditional, optional)
missing module named 'rubicon.objc' - imported by mouseinfo (conditional)
missing module named rubicon - imported by mouseinfo (conditional)
missing module named Foundation - imported by pyperclip (delayed, conditional, optional)
missing module named 'PyQt5.QtWidgets' - imported by pyperclip (delayed, optional)
missing module named setuptools.extern.packaging - imported by setuptools.extern (top-level), setuptools.dist (top-level), setuptools.command.egg_info (top-level)
missing module named 'setuptools.extern.six' - imported by setuptools (top-level), setuptools.extension (top-level)
missing module named 'setuptools.extern.packaging.specifiers' - imported by setuptools.config (top-level)
missing module named 'setuptools.extern.packaging.version' - imported by setuptools.config (top-level), setuptools.msvc (top-level)
missing module named setuptools.extern.six.moves.filterfalse - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.msvc (top-level)
missing module named setuptools.extern.six.moves.filter - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.ssl_support (top-level), setuptools.command.py36compat (top-level)
missing module named setuptools.extern.ordered_set - imported by setuptools.extern (top-level), setuptools.dist (top-level), setuptools.command.sdist (top-level)
missing module named 'setuptools.extern.packaging.utils' - imported by setuptools.wheel (top-level)
missing module named 'setuptools.extern.packaging.tags' - imported by setuptools.wheel (top-level)
missing module named wincertstore - imported by setuptools.ssl_support (delayed, optional)
missing module named 'backports.ssl_match_hostname' - imported by setuptools.ssl_support (optional)
missing module named backports - imported by setuptools.ssl_support (optional)
missing module named 'setuptools._vendor.six.moves' - imported by 'setuptools._vendor.six.moves' (top-level)
missing module named 'setuptools.extern.pyparsing' - imported by setuptools._vendor.packaging.markers (top-level), setuptools._vendor.packaging.requirements (top-level)
missing module named setuptools.extern.six.moves.map - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.command.easy_install (top-level), setuptools.sandbox (top-level), setuptools.package_index (top-level), setuptools.ssl_support (top-level), setuptools.command.egg_info (top-level), setuptools.namespaces (top-level)
runtime module named setuptools.extern.six.moves - imported by setuptools.dist (top-level), configparser (top-level), setuptools.command.easy_install (top-level), setuptools.sandbox (top-level), setuptools.command.setopt (top-level), setuptools.package_index (top-level), setuptools.ssl_support (top-level), setuptools.py33compat (top-level), setuptools.command.egg_info (top-level), setuptools.command.py36compat (top-level), setuptools.namespaces (top-level), setuptools.msvc (top-level), 'setuptools._vendor.six.moves' (top-level)
missing module named setuptools.extern.six - imported by setuptools.extern (top-level), setuptools.monkey (top-level), setuptools.dist (top-level), setuptools.extern.six.moves (top-level), setuptools.config (top-level), setuptools.command.easy_install (top-level), setuptools.sandbox (top-level), setuptools.py27compat (top-level), setuptools.package_index (top-level), setuptools.py33compat (top-level), setuptools.wheel (top-level), setuptools.command.egg_info (top-level), setuptools.command.sdist (top-level), setuptools.command.bdist_egg (top-level), setuptools.unicode_utils (top-level), setuptools.installer (top-level), setuptools.command.develop (top-level)
missing module named 'numpy_distutils.cpuinfo' - imported by numpy.f2py.diagnose (delayed, conditional, optional)
missing module named 'numpy_distutils.fcompiler' - imported by numpy.f2py.diagnose (delayed, conditional, optional)
missing module named 'numpy_distutils.command' - imported by numpy.f2py.diagnose (delayed, conditional, optional)
missing module named numpy_distutils - imported by numpy.f2py.diagnose (delayed, optional)
missing module named __svn_version__ - imported by numpy.f2py.__version__ (optional)
missing module named numarray - imported by numpy.distutils.system_info (delayed, conditional, optional)
missing module named Numeric - imported by numpy.distutils.system_info (delayed, conditional, optional)
missing module named win32con - imported by distutils.msvccompiler (optional)
missing module named _curses - imported by curses (top-level), curses.has_key (top-level)
missing module named _dummy_threading - imported by dummy_threading (optional)
missing module named hypothesis - imported by numpy._pytesttester (delayed)
missing module named pytest - imported by numpy._pytesttester (delayed), numpy.testing._private.utils (delayed)
missing module named 'nose.plugins' - imported by numpy.testing._private.noseclasses (top-level), numpy.testing._private.nosetester (delayed)
missing module named scipy - imported by numpy.testing._private.nosetester (delayed, conditional)
missing module named 'nose.util' - imported by numpy.testing._private.noseclasses (top-level)
missing module named nose - imported by numpy.testing._private.utils (delayed, optional), numpy.testing._private.decorators (delayed), numpy.testing._private.noseclasses (top-level)
missing module named psutil - imported by numpy.testing._private.utils (delayed, optional)
missing module named numpy.core.number - imported by numpy.core (delayed), numpy.testing._private.utils (delayed)
missing module named numpy.core.object_ - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed)
missing module named numpy.core.signbit - imported by numpy.core (delayed), numpy.testing._private.utils (delayed)
missing module named win32pdh - imported by numpy.testing._private.utils (delayed, conditional)
missing module named numpy.core.isnan - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed)
missing module named numpy.core.float32 - imported by numpy.core (top-level), numpy.testing._private.utils (top-level)
missing module named numpy.core.intp - imported by numpy.core (top-level), numpy.testing._private.utils (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.lib.i0 - imported by numpy.lib (top-level), numpy.dual (top-level)
missing module named numpy.linalg.matrix_power - imported by numpy.linalg (top-level), numpy.matrixlib.defmatrix (top-level)
missing module named numpy.core.integer - imported by numpy.core (top-level), numpy.fft.helper (top-level)
missing module named numpy.core.sqrt - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level)
missing module named numpy.core.conjugate - imported by numpy.core (top-level), numpy.fft._pocketfft (top-level)
missing module named numpy.core.sign - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.divide - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.geterrobj - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.add - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.complexfloating - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.inexact - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.cdouble - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.csingle - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.double - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.core.single - imported by numpy.core (top-level), numpy.linalg.linalg (top-level)
missing module named numpy.linalg.inv - imported by numpy.linalg (top-level), numpy.lib.polynomial (top-level)
missing module named numpy.linalg.lstsq - imported by numpy.linalg (top-level), numpy.lib.polynomial (top-level)
missing module named numpy.linalg.eigvals - imported by numpy.linalg (top-level), numpy.lib.polynomial (top-level)
missing module named pickle5 - imported by numpy.compat.py3k (optional)
missing module named numpy.recarray - imported by numpy (top-level), numpy.ma.mrecords (top-level)
missing module named numpy.dtype - imported by numpy (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level)
missing module named numpy.expand_dims - imported by numpy (top-level), numpy.ma.core (top-level)
missing module named numpy.array - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level)
missing module named numpy.bool_ - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.mrecords (top-level)
missing module named numpy.iscomplexobj - imported by numpy (top-level), numpy.ma.core (top-level)
missing module named numpy.amin - imported by numpy (top-level), numpy.ma.core (top-level)
missing module named numpy.amax - imported by numpy (top-level), numpy.ma.core (top-level)
missing module named numpy.ndarray - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level)
missing module named numpy.histogramdd - imported by numpy (delayed), numpy.lib.twodim_base (delayed)
missing module named numpy.eye - imported by numpy (delayed), numpy.core.numeric (delayed)

这就是我的代码(提前道歉,它可能令人眼花缭乱并且结构不佳)
它包括几个模块,比如 opencv 和 pyscreenshot,这让我很担心,因为我很难想象它们会被轻易转换
import time
import numpy as np
import pyautogui
import cv2
import pyscreenshot as ps
import random
start_time = time.time()
monitor = (0,0,1024,768)
img = np.array(ps.grab(monitor))
global loc_res
loc_res = []  
global loc_rally
loc_rally = []
first_time = False
cv2.imshow('image', img) 
def mouse_click(event, x, y,  
                flags, param, rally=0): 
    if event == cv2.EVENT_LBUTTONDOWN: 
        global loc_res
        loc_res.append([x,y])
        print(loc_res)
        cv2.circle(img, (x, y), 40, (255, 255, 0), 2)  
        cv2.imshow('image', img) 
    if event == cv2.EVENT_RBUTTONDOWN: 
        loc_rally.append(x)
        loc_rally.append(y)
        cv2.circle(img, (x, y), 10, (255, 0, 255), 2)  
        cv2.imshow('image', img) 
        rally+=1
cv2.setMouseCallback('image', mouse_click) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
while 'act':
    for pt in loc_res:
       pyautogui.click(x=pt[0], y=pt[1], clicks=1, interval=0.0, button='left', duration=random.uniform(0.5, 1.7))
       time.sleep(random.uniform(6.5, 8.7))
       deltax =  pt[0]-loc_rally[0]
       deltay =  pt[1]-loc_rally[1]
       pyautogui.click(x=loc_rally[0]-(deltax), y=loc_rally[1]-(deltay-30), clicks=1, interval=0.0, button='left', duration=random.uniform(0.5, 1.7))
       time.sleep(random.uniform(3.5, 4.7))
       if(time.time() - start_time > 1800) or first_time == False:
           start_time = time.time()
           pyautogui.press ('2')
           first_time = True

为了以防万一,我尝试使用所有软件包重新安装 python,但这并不奏效,因为我尝试使用不同的库进行 python 脚本转换,但这没有帮助。非常感谢您的关注,如果您能看到 .exe 文件不执行脚本但只显示带有闪烁光标的 cmd 的任何原因,我将非常高兴。

最佳答案

如果您使用的是 python 3.8 pyinstaller 将无法工作。根据我的发现,目前还没有任何东西可以将 python 3.8 转换为 .exe

关于python - Pyinstaller - 转换为 .exe 的 python 脚本未按预期方式执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64172393/

相关文章:

python-3.x - Python从文本文件降序

OpenCV正样本尺寸?

c++ - 使用 OpenCV 最小化方程中的矩阵

c++ - 运行 OpenCV 3.1 迷你应用程序时出现蓝屏

python - 使用导入模块进行多处理

python - 如何在Python中向索引添加特定数字?

python - 如何使用 tweepy 流式传输 Twitter 提及?

python - 在 pip jnius 安装中找不到 JRE_HOME

python - 当Python中的值为 "00/00/0000"时,如何省略CSV文件中的单元格

python - 如何将 cookie 列表导入到请求中?