[英]Unable to convert my py file to exe (tried auto-py-to-exe and pyinstaller)
I'm a new member, I did created some python software to automate my job as below coding,我是新成员,我确实创建了一些 python 软件来自动化我的工作,如下所示,
import pyautogui as pg
from time import sleep
import tkinter as tk
# ------------------------------UI----------------------------------------------------
window = tk.Tk()
window.title("Daily Job Automation")
window.minsize(width=500, height=300)
my_label = tk.Label(text="Daily Job Automation", font=("Arial", 24, "bold"))
my_label.pack()
# ------------------------------Function----------------------------------------------------
def setUp(self):
self.oldFailsafeSetting = pg.FAILSAFE
pg.FAILSAFE = False
pg.moveTo(0, 0) # make sure failsafe isn't triggered during this test
pg.FAILSAFE = True
def Ctrl_C():
pg.keyDown('ctrl')
pg.press('c')
pg.keyUp('ctrl')
def Ctrl_V():
pg.keyDown('ctrl')
pg.press('v')
pg.keyUp('ctrl')
def Back_To_Windows():
pg.keyDown('win')
pg.press('d')
pg.keyUp('win')
def Start_Automation():
# Open SQL
Back_To_Windows()
pg.PAUSE = 0.2
pg.leftClick(x=272, y=745)
sleep(10)
# Change company in SQL
pg.leftClick(x=603, y=464)
pg.typewrite('dne f')
pg.press('enter')
sleep(1)
# Key in password
pg.press('tab', presses=2)
sleep(1)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=3)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.leftClick(x=654, y=126)
pg.keyDown('ctrl')
pg.press('a')
pg.keyUp('ctrl')
pg.typewrite('sql')
pg.press('down')
pg.press('enter')
sleep(2)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID file
Back_To_Windows()
pg.doubleClick(x=424, y=42)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.keyDown('ctrl')
pg.press('f')
pg.keyUp('ctrl')
pg.typewrite('dne fwg')
pg.press('enter')
pg.press('esc')
pg.press('down', presses=2)
Ctrl_V()
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open SQL for DNE TTL
pg.rightClick(x=270, y=748)
sleep(1)
pg.leftClick(x=195, y=641)
sleep(1)
pg.leftClick(x=603, y=460)
pg.typewrite('dne t')
pg.press('enter')
pg.press('tab', presses=2)
sleep(2)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID
pg.leftClick(x=961, y=752)
pg.press('right', presses=2)
Ctrl_V()
sleep(1)
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open Google Chrome tabs
pg.leftClick(x=125, y=740)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.rightClick(x=308, y=81)
sleep(1)
pg.leftClick(x=389, y=105)
sleep(1)
pg.rightClick(x=402, y=86)
pg.leftClick(x=483, y=108)
pg.press('enter')
sleep(3)
pg.keyDown('ctrl')
sleep(1)
pg.press('w')
sleep(1)
pg.keyUp('ctrl')
sleep(1)
pg.press('enter')
# Ask for the OTP
pg.leftClick(x=631, y=437)
pg.alert(text='Please enter OTP', title='OTP', button='ok')
sleep(15)
# Go to the BID tab
pg.press('pagedown', presses=5)
sleep(1)
pg.leftClick(x=901, y=311)
sleep(2)
pg.leftClick(x=216, y=285)
sleep(2)
pg.leftClick(x=81, y=235)
# Create new record
sleep(1)
# Copy and paste AR
pg.leftClick(x=423, y=403)
pg.leftClick(x=949, y=749)
pg.leftClick(x=881, y=294)
Ctrl_C()
pg.leftClick(x=134, y=747)
Ctrl_V()
# Copy and paste AP
pg.leftClick(x=390, y=407)
pg.press('tab')
sleep(1)
pg.leftClick(x=958, y=752)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=117, y=730)
sleep(1)
Ctrl_V()
# Copy and paste over 90 days
pg.leftClick(x=418, y=441)
sleep(1)
pg.press('tab', presses=2)
sleep(1)
pg.leftClick(x=962, y=749)
pg.press('tab')
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=745)
Ctrl_V()
# Copy AR collected to date
pg.leftClick(x=950, y=741)
sleep(1)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=122, y=752)
pg.leftClick(x=393, y=482)
Ctrl_V()
# Copy Customer fund
pg.leftClick(x=376, y=606)
sleep(1)
pg.leftClick(x=952, y=745)
pg.leftClick(x=975, y=348)
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=750)
pg.leftClick(x=376, y=606)
sleep(1)
Ctrl_V()
sleep(1)
# Key in amount into OD used
pg.press('tab')
pg.typewrite('400000')
sleep(1)
# Copy Company's fund
pg.leftClick(x=951, y=740)
sleep(1)
pg.leftClick(x=975, y=375)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
Ctrl_V()
sleep(1)
# Copy Total available fund
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=400)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
pg.press('tab', presses=1)
Ctrl_V()
sleep(1)
# Key zero into Forecast column
pg.press('tab')
pg.press('0')
pg.press('tab')
pg.press('0')
sleep(1)
# Copy MBB DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=450)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# key in 0 into DNE TTL Dep
pg.press('tab')
pg.press('0')
sleep(1)
# Copy OCBC DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=475)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC DNE TTL USD
pg.leftClick(x=951, y=740)
pg.leftClick(x=974, y=500)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
Ctrl_V()
sleep(1)
# Copy MBB DNE Forwarding
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=525)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=550)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=575)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC SGD
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=600)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB INT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=625)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB ABL
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=650)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB CPW
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC Wiz
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
pg.press('down', presses=1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Click Create
pg.press('tab', presses=2)
sleep(1)
pg.press('space')
# Create message box
pg.alert(text='Done, please check', title='Completed Create BID record', button='OK')
# Back to the desktop and go to SQL
Back_To_Windows()
pg.leftClick(x=270, y=748)
pg.leftClick(x=174, y=668)
# Open Customer Aging - Duty
pg.leftClick(x=207, y=95)
pg.leftClick(x=1320, y=689)
sleep(1)
pg.leftClick(x=485, y=509)
sleep(3)
pg.doubleClick(x=581, y=327)
sleep(3)
pg.leftClick(x=657, y=512)
# Open Customer invoices tab
pg.leftClick(x=174, y=36)
pg.leftClick(x=223, y=93)
sleep(15)
pg.rightClick(x=538, y=120)
pg.leftClick(x=630, y=687)
pg.rightClick(x=13, y=162)
pg.leftClick(x=76, y=228)
pg.rightClick(x=81, y=160)
pg.leftClick(x=139, y=226)
pg.moveTo(x=133, y=125)
pg.dragTo(38, 187, 1, button='left')
sleep(2)
pg.rightClick(x=245, y=163)
pg.leftClick(x=310, y=202)
pg.leftClick(x=460, y=510)
sleep(2)
pg.doubleClick(x=600, y=297)
sleep(2)
pg.leftClick(x=664, y=513)
pg.rightClick(x=245, y=163)
sleep(2)
pg.moveTo(x=315, y=261)
sleep(2)
pg.leftClick(x=539, y=264)
sleep(3)
pg.typewrite('456')
sleep(1)
pg.press('enter')
pg.press('y')
# Go back to desktop
Back_To_Windows()
# Open 456 excel and copy
pg.doubleClick(x=1086, y=627)
sleep(3)
pg.doubleClick(x=224, y=223)
sleep(10)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=547, y=212)
sleep(3)
pg.typewrite("=vlookup(A:A,'[CT CHECK & DND LIST CHECK.xlsm]CashTerm'!$A:$D,4,false)")
pg.press('enter')
sleep(3)
pg.press('escape')
Back_To_Windows()
sleep(3)
pg.doubleClick(x=332, y=448)
sleep(1)
pg.leftClick(x=963, y=749)
pg.leftClick(x=953, y=653)
pg.leftClick(x=428, y=217)
sleep(1)
sleep(2)
pg.leftClick(x=147, y=11)
sleep(2)
pg.leftClick(x=429, y=355)
sleep(2)
pg.keyDown('ctrl')
pg.press('a')
pg.press('c')
pg.keyUp('ctrl')
sleep(2)
pg.press('enter')
# Paste into Cash Balance excel
pg.leftClick(x=961, y=740)
sleep(2)
pg.leftClick(x=1141, y=605)
sleep(2)
pg.leftClick(x=713, y=220)
pg.keyDown('ctrl')
pg.press('a')
pg.press('v')
pg.keyUp('ctrl')
pg.alert(text='CT Check done', title='Cash Term Check', button='OK')
sleep(2)
# Button
button = tk.Button(text="Start", font=("Arial", 10, "bold"), command=Start_Automation, width=10, height=5)
button.pack()
window.mainloop()
Basically its very simple coding without all kind of defined functions due to want to easy in reading, but I tried to convert into executable file, it's failed and showed below message when converting,基本上它非常简单的编码,由于想要易于阅读,没有各种定义的功能,但我试图转换为可执行文件,它失败并在转换时显示以下消息,
PS C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI> pyinstaller -F Daily_Job_Automation.py
1437 INFO: PyInstaller: 4.9
1438 INFO: Python: 3.8.8 (conda)
1438 INFO: Platform: Windows-10-10.0.19041-SP0
1439 INFO: wrote C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI\Daily_Job_Automation.spec
1441 INFO: UPX is not available.
1447 INFO: Extending PYTHONPATH with paths
['C:\\Users\\User\\Dropbox\\Company details\\Python\\PYAUTOGUI']
1936 INFO: checking Analysis
1936 INFO: Building Analysis because Analysis-00.toc is non existent
1936 INFO: Initializing module dependency graph...
1942 INFO: Caching module graph hooks...
1953 INFO: Analyzing base_library.zip ...
6186 INFO: Processing pre-find module path hook distutils from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path\\hook-distutils.py'.
6187 INFO: distutils: retargeting to non-venv dir 'C:\\Users\\User\\anaconda3\\lib'
9535 INFO: Caching module dependency graph...
9757 INFO: running Analysis Analysis-00.toc
9771 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by C:\Users\User\anaconda3\python.exe
10008 INFO: Analyzing C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI\Daily_Job_Automation.py
12450 INFO: Processing pre-find module path hook site from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path\\hook-site.py'.
12450 INFO: site: retargeting to fake-dir 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\fake-modules'
27423 INFO: Processing pre-safe import module hook urllib3.packages.six.moves from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module\\hook-urllib3.packages.six.moves.py'.
34945 INFO: Processing pre-safe import module hook six.moves from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module\\hook-six.moves.py'.
45688 INFO: Processing pre-safe import module hook win32com from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\pre_safe_import_module\\hook-win32com.py'.
52902 INFO: Processing module hooks...
52902 INFO: Loading module hook 'hook-appdirs.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
52907 INFO: Loading module hook 'hook-bcrypt.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
52908 INFO: Loading module hook 'hook-certifi.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
52912 INFO: Loading module hook 'hook-cryptography.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
53125 INFO: Loading module hook 'hook-docutils.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
55107 INFO: Loading module hook 'hook-IPython.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
55560 INFO: Loading module hook 'hook-jedi.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56562 INFO: Loading module hook 'hook-jinja2.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56576 INFO: Loading module hook 'hook-jsonschema.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56593 INFO: Loading module hook 'hook-nacl.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56612 INFO: Loading module hook 'hook-nbconvert.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56709 INFO: Loading module hook 'hook-nbformat.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56759 INFO: Loading module hook 'hook-notebook.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59379 INFO: Loading module hook 'hook-parso.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59395 INFO: Loading module hook 'hook-py.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59637 INFO: Loading module hook 'hook-pycparser.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59638 INFO: Loading module hook 'hook-pytest.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
60619 INFO: Loading module hook 'hook-pythoncom.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
61126 INFO: Loading module hook 'hook-pywintypes.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
61630 INFO: Loading module hook 'hook-regex.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
61631 INFO: Loading module hook 'hook-win32com.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
C:\Users\User\anaconda3\lib\site-packages\win32com\client\makepy.py:369: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if path is not '' and not os.path.exists(path):
62317 INFO: Loading module hook 'hook-zmq.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
64036 INFO: Loading module hook 'hook-babel.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64180 INFO: Loading module hook 'hook-difflib.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64185 INFO: Loading module hook 'hook-distutils.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64185 INFO: Loading module hook 'hook-distutils.util.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64190 INFO: Loading module hook 'hook-encodings.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64259 INFO: Loading module hook 'hook-gevent.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
Traceback (most recent call last):
File "C:\Users\User\anaconda3\Scripts\pyinstaller-script.py", line 10, in <module>
sys.exit(run())
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\__main__.py", line 124, in run
run_build(pyi_config, spec_file, **vars(args))
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\__main__.py", line 58, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 793, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 725, in build
exec(code, spec_namespace)
File "C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI\Daily_Job_Automation.spec", line 7, in <module>
a = Analysis(['Daily_Job_Automation.py'],
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 277, in __init__
self.__postinit__()
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\datastruct.py", line 155, in __postinit__
self.assemble()
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 445, in assemble
self.graph.process_post_graph_hooks(self)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\depend\analysis.py", line 326, in process_post_graph_hooks
module_hook.post_graph(analysis)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\depend\imphook.py", line 398, in post_graph
self._load_hook_module()
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\depend\imphook.py", line 361, in _load_hook_module
self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\compat.py", line 606, in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>", line 462, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 962, in load_module
File "<frozen importlib._bootstrap_external>", line 787, in load_module
File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
File "<frozen importlib._bootstrap>", line 702, in _load
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\hooks\hook-gevent.py", line 16, in <module>
datas, binaries, hiddenimports = collect_all(
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 1081, in collect_all
hiddenimports = collect_submodules(package_name, filter=filter_submodules)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 564, in collect_submodules
names = exec_statement(
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 91, in exec_statement
return __exec_statement(statement, capture_stdout=True)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 75, in __exec_statement
return __exec_python_cmd(cmd, capture_stdout=capture_stdout)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 66, in __exec_python_cmd
txt = compat.exec_python(*cmd, env=pp_env)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\compat.py", line 546, in exec_python
return exec_command(*cmdargs, **kwargs)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\compat.py", line 332, in exec_command
out = proc.communicate(timeout=60)[0]
File "C:\Users\User\anaconda3\lib\subprocess.py", line 1028, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "C:\Users\User\anaconda3\lib\subprocess.py", line 1401, in _communicate
raise TimeoutExpired(self.args, orig_timeout)
subprocess.TimeoutExpired: Command '('C:\\Users\\User\\anaconda3\\python.exe', '-c', '\nimport sys\nimport pkgutil\nimport traceback\n\n# ``pkgutil.walk_packages`` does not walk subpackages of zipped files per https://bugs.python.org/i
ssue14209.\n# This is a workaround.\ndef walk_packages(path=None, prefix=\'\', onerror=None):\n def seen(p, m={}):\n if p in m:\n return True\n m[p] = True\n\n for importer, name, ispkg in pkgutil.iter_mo
dules(path, prefix):\n if not name.startswith(prefix):\n name = prefix + name\n yield importer, name, ispkg\n\n if ispkg:\n try:\n __import__(name)\n except ImportErr
or:\n if onerror is not None:\n onerror(name)\n except Exception:\n if onerror is not None:\n onerror(name)\n else:\n trac
eback.print_exc(file=sys.stderr)\n print("collect_submodules: failed to import %r!" % name, file=sys.stderr)\n else:\n path = getattr(sys.modules[name], \'__path__\', None) or []\n\n
# don\'t traverse path items we\'ve seen before\n path = [p for p in path if not seen(p)]\n\n # Use Py2 code here. It still works in Py3.\n for item in walk_packages(path, name+\'.\'
, onerror):\n yield item\n # This is the original Py3 code.\n #yield from walk_packages(path, name+\'.\', onerror)\n\nfor module_loader, name, ispkg in walk_packages([\'C:\\\\Users\\\\Us
er\\\\anaconda3\\\\lib\\\\site-packages\\\\gevent\'], \'gevent.\'):\n print(\'\\n$_pyi:\' + name + \'*\')\n')' timed out after 60 seconds
Appreciate if anyone here able to take sometimes to understand and gives some valuable opition on this, thank you.感谢这里的任何人有时能够理解并对此提供一些有价值的选择,谢谢。
It may be caused if it can't find additional files .可能是找不到附加文件造成的。 Follow the following steps to resolve it:请按照以下步骤解决它:
Go inside additional files
and select add folder
.进入additional files
并选择add folder
。 Now go inside your python folder and inside Lib/site-packages
select pyautogui folder now do the same for adding PyAutoGUI-0.9.xx (The version may be different.) .现在进入你的python 文件夹并在Lib/site-packages
选择pyautogui文件夹,现在对添加PyAutoGUI-0.9.xx执行相同的操作(版本可能不同。) 。 Once done do the other things you want like adding icon, script etc. At last hit the Convert button.完成后,做你想做的其他事情,比如添加图标、脚本等。最后点击转换按钮。 It may work.它可能会起作用。
It might be because of Windows defender or any antivirus please disable it before building EXE.这可能是因为Windows Defender或任何杀毒软件,请在构建 EXE 之前将其禁用。 You can also try replacing your code with this:您也可以尝试用以下代码替换您的代码:
import subprocess
import pyautogui as pg
from time import sleep
import tkinter as tk
try:
# ------------------------------UI----------------------------------------------------
window = tk.Tk()
window.title("Daily Job Automation")
window.minsize(width=500, height=300)
my_label = tk.Label(text="Daily Job Automation", font=("Arial", 24, "bold"))
my_label.pack()
# ------------------------------Function----------------------------------------------------
def setUp(self):
self.oldFailsafeSetting = pg.FAILSAFE
pg.FAILSAFE = False
pg.moveTo(0, 0) # make sure failsafe isn't triggered during this test
pg.FAILSAFE = True
def Ctrl_C():
pg.keyDown('ctrl')
pg.press('c')
pg.keyUp('ctrl')
def Ctrl_V():
pg.keyDown('ctrl')
pg.press('v')
pg.keyUp('ctrl')
def Back_To_Windows():
pg.keyDown('win')
pg.press('d')
pg.keyUp('win')
def Start_Automation():
# Open SQL
Back_To_Windows()
pg.PAUSE = 0.2
pg.leftClick(x=272, y=745)
sleep(10)
# Change company in SQL
pg.leftClick(x=603, y=464)
pg.typewrite('dne f')
pg.press('enter')
sleep(1)
# Key in password
pg.press('tab', presses=2)
sleep(1)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=3)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.leftClick(x=654, y=126)
pg.keyDown('ctrl')
pg.press('a')
pg.keyUp('ctrl')
pg.typewrite('sql')
pg.press('down')
pg.press('enter')
sleep(2)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID file
Back_To_Windows()
pg.doubleClick(x=424, y=42)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.keyDown('ctrl')
pg.press('f')
pg.keyUp('ctrl')
pg.typewrite('dne fwg')
pg.press('enter')
pg.press('esc')
pg.press('down', presses=2)
Ctrl_V()
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open SQL for DNE TTL
pg.rightClick(x=270, y=748)
sleep(1)
pg.leftClick(x=195, y=641)
sleep(1)
pg.leftClick(x=603, y=460)
pg.typewrite('dne t')
pg.press('enter')
pg.press('tab', presses=2)
sleep(2)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID
pg.leftClick(x=961, y=752)
pg.press('right', presses=2)
Ctrl_V()
sleep(1)
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open Google Chrome tabs
pg.leftClick(x=125, y=740)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.rightClick(x=308, y=81)
sleep(1)
pg.leftClick(x=389, y=105)
sleep(1)
pg.rightClick(x=402, y=86)
pg.leftClick(x=483, y=108)
pg.press('enter')
sleep(3)
pg.keyDown('ctrl')
sleep(1)
pg.press('w')
sleep(1)
pg.keyUp('ctrl')
sleep(1)
pg.press('enter')
# Ask for the OTP
pg.leftClick(x=631, y=437)
pg.alert(text='Please enter OTP', title='OTP', button='ok')
sleep(15)
# Go to the BID tab
pg.press('pagedown', presses=5)
sleep(1)
pg.leftClick(x=901, y=311)
sleep(2)
pg.leftClick(x=216, y=285)
sleep(2)
pg.leftClick(x=81, y=235)
# Create new record
sleep(1)
# Copy and paste AR
pg.leftClick(x=423, y=403)
pg.leftClick(x=949, y=749)
pg.leftClick(x=881, y=294)
Ctrl_C()
pg.leftClick(x=134, y=747)
Ctrl_V()
# Copy and paste AP
pg.leftClick(x=390, y=407)
pg.press('tab')
sleep(1)
pg.leftClick(x=958, y=752)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=117, y=730)
sleep(1)
Ctrl_V()
# Copy and paste over 90 days
pg.leftClick(x=418, y=441)
sleep(1)
pg.press('tab', presses=2)
sleep(1)
pg.leftClick(x=962, y=749)
pg.press('tab')
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=745)
Ctrl_V()
# Copy AR collected to date
pg.leftClick(x=950, y=741)
sleep(1)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=122, y=752)
pg.leftClick(x=393, y=482)
Ctrl_V()
# Copy Customer fund
pg.leftClick(x=376, y=606)
sleep(1)
pg.leftClick(x=952, y=745)
pg.leftClick(x=975, y=348)
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=750)
pg.leftClick(x=376, y=606)
sleep(1)
Ctrl_V()
sleep(1)
# Key in amount into OD used
pg.press('tab')
pg.typewrite('400000')
sleep(1)
# Copy Company's fund
pg.leftClick(x=951, y=740)
sleep(1)
pg.leftClick(x=975, y=375)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
Ctrl_V()
sleep(1)
# Copy Total available fund
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=400)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
pg.press('tab', presses=1)
Ctrl_V()
sleep(1)
# Key zero into Forecast column
pg.press('tab')
pg.press('0')
pg.press('tab')
pg.press('0')
sleep(1)
# Copy MBB DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=450)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# key in 0 into DNE TTL Dep
pg.press('tab')
pg.press('0')
sleep(1)
# Copy OCBC DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=475)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC DNE TTL USD
pg.leftClick(x=951, y=740)
pg.leftClick(x=974, y=500)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
Ctrl_V()
sleep(1)
# Copy MBB DNE Forwarding
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=525)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=550)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=575)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC SGD
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=600)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB INT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=625)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB ABL
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=650)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB CPW
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC Wiz
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
pg.press('down', presses=1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Click Create
pg.press('tab', presses=2)
sleep(1)
pg.press('space')
# Create message box
pg.alert(text='Done, please check', title='Completed Create BID record', button='OK')
# Back to the desktop and go to SQL
Back_To_Windows()
pg.leftClick(x=270, y=748)
pg.leftClick(x=174, y=668)
# Open Customer Aging - Duty
pg.leftClick(x=207, y=95)
pg.leftClick(x=1320, y=689)
sleep(1)
pg.leftClick(x=485, y=509)
sleep(3)
pg.doubleClick(x=581, y=327)
sleep(3)
pg.leftClick(x=657, y=512)
# Open Customer invoices tab
pg.leftClick(x=174, y=36)
pg.leftClick(x=223, y=93)
sleep(15)
pg.rightClick(x=538, y=120)
pg.leftClick(x=630, y=687)
pg.rightClick(x=13, y=162)
pg.leftClick(x=76, y=228)
pg.rightClick(x=81, y=160)
pg.leftClick(x=139, y=226)
pg.moveTo(x=133, y=125)
pg.dragTo(38, 187, 1, button='left')
sleep(2)
pg.rightClick(x=245, y=163)
pg.leftClick(x=310, y=202)
pg.leftClick(x=460, y=510)
sleep(2)
pg.doubleClick(x=600, y=297)
sleep(2)
pg.leftClick(x=664, y=513)
pg.rightClick(x=245, y=163)
sleep(2)
pg.moveTo(x=315, y=261)
sleep(2)
pg.leftClick(x=539, y=264)
sleep(3)
pg.typewrite('456')
sleep(1)
pg.press('enter')
pg.press('y')
# Go back to desktop
Back_To_Windows()
# Open 456 excel and copy
pg.doubleClick(x=1086, y=627)
sleep(3)
pg.doubleClick(x=224, y=223)
sleep(10)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=547, y=212)
sleep(3)
pg.typewrite("=vlookup(A:A,'[CT CHECK & DND LIST CHECK.xlsm]CashTerm'!$A:$D,4,false)")
pg.press('enter')
sleep(3)
pg.press('escape')
Back_To_Windows()
sleep(3)
pg.doubleClick(x=332, y=448)
sleep(1)
pg.leftClick(x=963, y=749)
pg.leftClick(x=953, y=653)
pg.leftClick(x=428, y=217)
sleep(1)
sleep(2)
pg.leftClick(x=147, y=11)
sleep(2)
pg.leftClick(x=429, y=355)
sleep(2)
pg.keyDown('ctrl')
pg.press('a')
pg.press('c')
pg.keyUp('ctrl')
sleep(2)
pg.press('enter')
# Paste into Cash Balance excel
pg.leftClick(x=961, y=740)
sleep(2)
pg.leftClick(x=1141, y=605)
sleep(2)
pg.leftClick(x=713, y=220)
pg.keyDown('ctrl')
pg.press('a')
pg.press('v')
pg.keyUp('ctrl')
pg.alert(text='CT Check done', title='Cash Term Check', button='OK')
sleep(2)
# Button
button = tk.Button(text="Start", font=("Arial", 10, "bold"), command=Start_Automation, width=10, height=5)
button.pack()
window.mainloop()
except subprocess.TimeoutExpired:
pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.