Durch die Installation des Pip-Pakets, das beim Erstellen von opencv aus dem Quellcode von opencv-python abhängt

Überblick

Ich habe opencv aus dem Quellcode in [diesem Artikel] erstellt (https://qiita.com/devmikyom/items/a568d4246e1103b18f69). Ich kann "cv2" aus meinem eigenen Programm importieren, aber wenn ich versuche, ein Paket zu installieren, das von opencv-python abhängt, werde ich wütend, weil es kein opencv-python gibt. Ist es nicht so, dass opencv in pip enthalten ist, da ich gerade einen symbolischen Link auf Site-Pakete gesetzt habe? Übrigens scheint cmake den Ort von pip nicht angegeben zu haben.

Also habe ich ein Paket erstellt, das cv2 umschließt. Da import cv2 gemacht werden kann, dachte ich, dass es möglich sein könnte, ein leeres opencv-python-Paket zu erstellen und zu betrügen, aber da es eine große Sache war, habe ich es richtig verpackt (?).

Verfassung

Die Konfiguration ist wie folgt.

wheel/
├── build               #Der gebaute wird ausgegeben
├── cv2                 #Werden Sie ein Paketname
│   ├── __init__.py     #Zeigen Sie es als cv2 draußen
│   └── _native
│       ├── cv2.cpython-36m-aarch64-linux-gnu.so #Entität
│       └── __init__.py #Importieren Sie den Original-Lebenslauf2
├── dist                #Die whl-Datei wird ausgegeben. Pip installiere dies
├── MANIFEST.in         #Geben Sie die Entität an.
└── setup.py            #Verschiedene Einstellungen von pip

Der Inhalt jeder Datei ist wie folgt. __init __. py Ich weiß nichts. ..

setup.py


from setuptools import setup
from setuptools.dist import Distribution

class BinaryDistribution(Distribution):
    def has_ext_modules(foo):
        return True

long_description = "long description of the wheel"

setup(
    name='opencv-python',
    packages=['cv2'],
    version='3.4.3',

    include_package_data=True,
    distclass=BinaryDistribution,

    author='devmikyom',
    description='OpenCV wrapper for Ubuntu 20.04 on raspberry pi 4',
    long_description = long_description,
    classifiers=[
        'Programming Language :: Python :: 3.6'
    ]
)

:MANIFEST:in


include cv2/_native/cv2.cpython-36m-aarch64-linux-gnu.so

wheel/cv2/__init__.py


from ._native.cv2 import *
__version__ = '3.4.3'

wheel/cv2/_native/__init__.py


from .cv2 import *

__init __. py Ich weiß wirklich nichts. ..

Erstellen und installieren

$ python setup.py bdist_wheel
$ pip install dist/opencv_python-3.4.3-cp36-cp36m-linux_aarch64.whl

Es scheint, dass import cv2 durchgeführt werden kann und es sieht aus wie pip und opencv-python. Ich bin mir nicht sicher, ob das wirklich zu mir passt ...

Recommended Posts

Durch die Installation des Pip-Pakets, das beim Erstellen von opencv aus dem Quellcode von opencv-python abhängt
Rufen Sie nur den Quellcode des PyPI-Pakets mit pip über die Befehlszeile ab
Quellcode von "Stellen Sie die Farbe auf der Posterseite so ein, dass sich die Farbe der Youtube-Untertitel automatisch ändert."
Einfache Installation von OpenCV auf RaspberryPi 3+
"Cython" -Tutorial, das Python explosiv macht: Wenn C ++ - Code von der Bibliothek abhängt. Zuallererst CMake.
Installieren Sie die neueste Version von Apache httpd 2.4 von der Quelle unter Cent OS 8
Der Fall, dass die Installation von Pip einfacher wurde, bevor ich es wusste
So lösen Sie das Problem, dass nur der Prozess übrig bleibt, wenn Sie auf dem Imshow-Bildschirm von OpenCV auf Kreuz drücken
Installieren Sie PostgreSQL aus dem Quellcode unter CentOS
Fehlerdetails und Gegenmaßnahmen, die in OpenCv2 beim Ausführen des Objekterkennungs-Beispielprogramms von "Object Detect on Tools" aufgetreten sind.