我试图创建一个简单的软件(与pyinstaller
),激活电脑摄像头,但我坚持与错误ModuleNotFoundError: No module named 'cv2'
。但当我运行相同的代码使用命令提示符,它运行完美,因为我想要的。
import cv2
import tkinter as tk
def openCamera():
video = cv2.VideoCapture(0)
while True:
_, frame = video.read()
cv2.imshow("Camera display", frame)
if cv2.waitKey(1) & 0xff == ord('q'):
break
video.release()
cv2.destroyWindow("Camera display")
main_window = tk.Tk()#.title("My PC Camera")
activate_camera = tk.Button(text="Activate camera",command=openCamera).pack()
close = tk.Button(text="Close",command=main_window.quit).pack()
main_window.mainloop()
我使用以下命令创建了一个可执行文件,该文件成功运行。
$ pyinstaller --onefile test_camera.py
但是,当我尝试运行生成的可执行文件时,它会将以下消息打印到控制台:
Traceback (most recent call last):
File "test_camera.py", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
[8876] Failed to execute script test_camera
Error Message
我想我已经根据下面的代码很好地安装了opencv-python
>>> import cv2
>>> cv2.__version__
'4.3.0'
>>>
屏幕截图
我还能错过什么?
4条答案
按热度按时间b1payxdu1#
我不想成为那样的人,但是你已经安装了CV2,对吗?
IIRC有几个不同的“opencvs”可以下载,我相信正确的是:
我的第二个想法是,您可能在一个没有OpenCV2的虚拟环境中。考虑到tkinter是标准库的一部分,这里唯一的非标准库是OpenCV2。
9jyewag02#
哇!我需要升级我的
pyinstaller
。我运行这个代码现在我得到了我想要的,虽然软件的大小不是它!
axr492tv3#
pyinstaller4.7和pyinstaller-hooks-contrib 2021.4不支持开放式加密。
应使用pyinstaller4.5.1和pyinstaller-hooks-contrib2021.3。
q5iwbnjs4#
我发现我混淆了我跑步的环境。