简体   繁体   中英

Pyinstaller - python script converted to .exe doesn't execute the program in the way expected

I wish to convert my .py script (which works perfectly when executed) into .exe using Pyinstaller, however when the conversion is done and I launch the newly made .exe file, the cmd pops up with the flashing cursor on it and nothing happens afterwards. I had tried different ways of conversion like pyinstaller -F script.py and pyinstaller --onefile -w script.py but it never had any effect. Then I tried to launch it from cmd, no difference was there. But I did a test script which was just printing out 'hello world' as an output and it worked. It appears that nothing of suspicion happens in the process of the actual conversion, except, some modules are not detected, but if I understood that correctly, they aren't necessarily needed. (so I came to the conclusion, that's not the issue, but just in case will include the warn messages)

warn-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)

And that's my code (apologies in advance, it might be an eyesore and is poorly structured) It includes several modules like opencv and pyscreenshot which do worry me, as I can hardly imagine them being converted easily

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

I have tried to reinstall python with all the packages just in case, but that didn't work as well as I tried to use different libs for python scripts conversion, but that didn't help. Thanks a lot for your attention and I will be really happy if you can see any reason why the .exe file doesn't execute the script but only shows a cmd with a flashing cursor.

If you're using python 3.8 pyinstaller won't work yet. From what I've found there is nothing yet that can convert python 3.8 to .exe

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM