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 (?).
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. ..
$ 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