我正在尝试使用PyInstaller在Windows 10 64位上编译.EXE。
在Windows CMD提示符下使用以下CMD时,脚本执行成功。
pyinstaller --onefile Mainscript.py
在带有参数的CMD提示符下执行可以正常工作(请参见下面的Python代码)。但是,执行时将显示控制台。因此,我使用以下CMD重新编译为.exe ...
pyinstaller --noconsole --onefile Mainscript.py
现在我通过CMD执行脚本时,出现错误,提示“执行脚本失败”。
我不确定如何解决此问题。
下面是Python代码。该脚本将PDF的首页转换为JPG,并接受3个参数。 1.)源PDF文件路径2.)目标JPG路径3.)图片大小
我这样执行:
start MainScript.exe "TestPDF.pdf" "TestJPG.jpg" 100
testPDF.pdf位于cd中。
Python代码:
#REQUIRES PDF2IMAGE INSTALLED WITH PIP
#REQUIRES POPPLER BINARIES INSTALLED ON WINDOWS VIA WEBSITE
from pdf2image import convert_from_path
import os.path
import ctypes
import sys
try:
argcount = len(sys.argv) #COUNT OF CMD LINE ARGUMENTS
if argcount != 4:
if argcount == 1:
errStr = "No arguments passed"
else:
errStr = "Error: incomplete args passed. " + "Args = " + str(argcount)
for x in range(1, argcount): #argv[0] IS ALWAYS THE SCRIPT NAME
errStr = errStr + str(x) + ": " + sys.argv[x] + "\n"
ctypes.windll.user32.MessageBoxW(0, errStr, "Python Convert2Thumbnail", 1)
else:
inpath = sys.argv[1]
outpath = sys.argv[2]
fsize = sys.argv[3]
pages = convert_from_path(inpath, fsize)
firstpage = pages[0]
firstpage.save(outpath, 'JPEG')
except Exception as e:
errmsg = getattr(e, 'message', repr(e))
for x in range(1, argcount):
errStr = errStr + str(x) + ": " + sys.argv[x] + "\n"
errStr = errStr + "\n" + "\n" + errmsg
ctypes.windll.user32.MessageBoxW(0, errStr, "Python Convert2Thumbnail", 1)
quit()
感谢您的帮助。
此致