【问题标题】:Import module error when running os.system virtualenv OpenCV运行 os.system virtualenv OpenCV 时导入模块错误
【发布时间】:2019-08-05 14:11:10
【问题描述】:

我正在尝试围绕 OpenCV 构建一个简单的 Python GUI,以便轻松运行面部识别命令。我正在使用 Raspberry Pi 因此 Raspbian 来执行此操作

这是一个单击按钮并执行 os.system 命令以允许运行各种功能的情况。

问题在于尝试在虚拟 Python 环境中运行这些函数。我需要进入 virtualenv 才能访问所需的模块,但是我知道每次运行 os.system 命令时,都会创建一个新的 shell,因此会将我带出虚拟环境。

我已经研究过在一个 os.system 中运行我的函数,但是我仍然收到导入模块错误。

我认为需要几分钟才能构建的东西需要我几天时间。

对此的任何帮助都会令人惊叹。

谢谢。

这是我当前的代码:

from tkinter import *
import os
from tkinter import messagebox

# creating tkinter window 
root = Tk() 
root.geometry('500x500')
root.title("Student Attendnace System")



def stillImage():
    os.system("/home/pi/.virtualenvs/cv/bin/activate & python recognize_faces_image.py ---encodings encodings.pickle --detection-method hog --image examples/example_01.jpg")



btn3 = Button(root, text = 'Detect Faces From Image', command = stillImage)
btn3.grid(column=1, row=2)

mainloop() 

这个想法是进入虚拟环境并执行另一个带有面部检测参数的python脚本。

注意:在终端中运行它可以正常工作。

【问题讨论】:

    标签: python opencv raspberry-pi virtualenv


    【解决方案1】:

    我会直接使用 virtualenv 中的 python:

    os.system("/home/pi/.virtualenvs/cv/bin/python recognize_faces_image.py ---encodings encodings.pickle --detection-method hog --image examples/example_01.jpg")
    

    要详细说明使用来自 virtualenv 的 python 可执行文件运行的脚本,将查找与 python 可执行文件相关的库,即在虚拟环境中。

    【讨论】:

    • 很高兴它帮助了你:)
    猜你喜欢
    • 1970-01-01
    • 2012-02-28
    • 2012-10-14
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    相关资源
    最近更新 更多