为啥我的代码在传递给 .exe 时不起作用?
Posted
技术标签:
【中文标题】为啥我的代码在传递给 .exe 时不起作用?【英文标题】:Why my code don't work when I pass it to .exe?为什么我的代码在传递给 .exe 时不起作用? 【发布时间】:2021-12-16 09:56:25 【问题描述】:我制作了一个检测屏幕上图像的程序,我使用了 pyautogui 库,当我运行我的程序时它工作得很好,但是当我将它传递给可执行文件时,它不再工作了,我有错误信息如下。
我在 windows 10 下。我有 python 3.10 和 pyinstaller 5.0
错误信息:
Traceback (most recent call last):
File "interface.py", line 21, in <module>
ScreenLocation = pa.locateOnScreen('module\images\location.PNG', confidence=0.7)
File "pyautogui\__init__.py", line 175, in wrapper
File "pyautogui\__init__.py", line 213, in locateOnScreen
File "pyscreeze\__init__.py", line 373, in locateOnScreen
File "pyscreeze\__init__.py", line 353, in locate
File "pyscreeze\__init__.py", line 253, in _locateAll_python
NotImplementedError: The confidence keyword argument is only available if OpenCV is installed.
我希望我已经足够清楚了,如果有任何信息缺失可以解决我的问题,请随时向我提问,感谢您抽出时间为我服务,希望我们能找到解决方案。
【问题讨论】:
你读过错误吗?您需要修改 pyinstaller 脚本以强制包含 OpenCV。 正如错误所说:您在调用pa.locateOnScreen
时使用confidence=0.7
,但正如docs 所说,您需要安装OpenCV 才能使confidence
关键字工作。
如何强制 pyinstaller 包含 opencv ?
我用 pip install opencv-python 在 python 中安装 opencv,是不是方法不对?
我试图删除 confidence=0.7 但现在应用程序找不到图像。
【参考方案1】:
Pip 安装 OpenCV 并在脚本中导入 OpenCV。
【讨论】:
我已经用 pip install opencv-pyton 安装了 opencv 并在你的脚本中导入OpenCV为import cv2
,这样你就可以使用置信度阈值了吗?
是的,我试过了,但又收到一条错误消息
回溯(最近一次调用最后一次):文件“somthing.py”,第 1 行,在 以上是关于为啥我的代码在传递给 .exe 时不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Google Maps API 请求在服务器上运行时不起作用
为啥 Desktop.Open() 在安装 MagicISO 时不起作用
为啥我的 UITapGestureRecognizer 在我将它附加到我的 UITableViewCell 中的元素时不起作用?