当我从 IDE 运行应用程序时,它运行良好,但是当我运行 PyInstaller 构建的应用程序时,pyscreenshot.grab 的工作方式类似于 MainWindow.show()。我尝试了 3 种不同的后端(PyQt5;PIL;默认),但它们都不起作用。不明白的可以看视频
如果我关闭主窗口,则会出现错误:
Exception in thread Thread-1:
Traceback (most recent call last):
File "threading.py", line 926, in _bootstrap_inner
File "threading.py", line 870, in run
File "main1.py", line 96, in main
File "lib\site-packages\pyscreenshot\__init__.py", line 31, in grab
File "lib\site-packages\pyscreenshot\loader.py", line 145, in backend_grab
File "lib\site-packages\pyscreenshot\loader.py", line 136, in force
File "lib\site-packages\pyscreenshot\childproc.py", line 39, in childprocess_grab
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\User\\AppData\\Local\\Temp\\pyscreenshotmrgm1pkk\\screenshot.png'
PS 我使用的是开发版的 PyInstaller,因为 我需要 TensorFlow 支持
改用解决了
PIL.ImageGrab.grab()问题pyscreenshot.grab()