GNU/Linux >> Tutoriales Linux >  >> Linux

¿OpenCV y python/virtualenv?

Simplemente copie el cv2*.so archivo a la carpeta de paquetes del sitio del entorno virtual. Por ejemplo:

cp /usr/lib/python3.6/dist-packages/cv2.cpython-36m-aarch64-linux-gnu.so ~/your_virt_env_folder/YOUR_VIRT_ENV_NAME/lib/python3.6/site-packages/

Uso makefiles en mis proyectos para instalar OpenCV dentro de Python virtualenv. A continuación se muestra un ejemplo repetitivo. Requiere que ya tenga enlaces OpenCV presentes para su sistema Python (/usr/bin/python ) que puedes obtener usando algo como yum install opencv-python o apt-get install python-opencv .

Realice las primeras consultas al sistema Python's cv2 módulo y recupera la ubicación del archivo de biblioteca instalado. Luego copia cv2.so en el directorio virtualenv.

VENV_LIB = venv/lib/python2.7
VENV_CV2 = $(VENV_LIB)/cv2.so

# Find cv2 library for the global Python installation.
GLOBAL_CV2 := $(shell /usr/bin/python -c 'import cv2, inspect; print(inspect.getfile(cv2))')

# Link global cv2 library file inside the virtual environment.
$(VENV_CV2): $(GLOBAL_CV2) venv
    cp $(GLOBAL_CV2) [email protected]

venv: requirements.txt
    test -d venv || virtualenv venv
    . venv/bin/activate && pip install -r requirements.txt

test: $(VENV_CV2)
    . venv/bin/activate && python -c 'import cv2; print(cv2)'

clean:
    rm -rf venv

(Puede copiar y pegar el fragmento anterior en un Makefile, pero asegúrese de reemplazar las sangrías con caracteres de tabulación ejecutando sed -i s:' ':'\t':g Makefile o similar.)

Ahora puede ejecutar la plantilla:

echo "numpy==1.9.1" > requirements.txt
make
make test

Tenga en cuenta que en lugar del enlace simbólico, en realidad copiamos el archivo .so para evitar el problema que se indica aquí:https://stackoverflow.com/a/19138136/1510289


Virtualenv crea un entorno de python separado. Deberá volver a instalar todas sus dependencias. EDITAR es cierto que pip no parece funcionar bien con opencv. El error del módulo faltante se puede resolver copiando el objeto compartido cv a su virtualenv. Más información en la pregunta vinculada a continuación.


Linux
  1. Explorando la API RESTful de Podman usando Python y Bash

  2. ¿Cómo instalar Python en Ubuntu 20.04 y 18.04?

  3. Script de Python para listar usuarios y grupos

  4. ¿Es posible una secuencia de comandos mixta de shell y python?

  5. pip y pip3, ¿ambos apuntan a python3.5?

Manejo de datos faltantes en Python:causas y soluciones

Cómo instalar Python Pip en Ubuntu 18.04 y 20.04

Pipx:instale y ejecute aplicaciones de Python en entornos aislados

Cómo instalar Python 2 y Python 3 en CentOS 8

Cómo instalar y usar Python-Mistune en Linux

Cómo instalar Anaconda Navigator y JupyterLab en Linux