Seite 2 von 2
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 14:32
von sparrow
Nächster Schritt:
Code: Alles auswählen
import sys
print(f"Sys Version: {sys.version}")
import ocrmypdf
print("after import")
print(f"Path: {ocrmypdf.__path__}")
print(ocrmypdf)
print(f"Version: {ocrmypdf.__version__}")
print(f"Function: {ocrmypdf.ocr})")
print("done")
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 14:51
von HerrYves
@sparrow:
Ich danke Dir für Deine Beharrlichkeit.
Hier die Ausgabe:
Code: Alles auswählen
Sys Version: 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0]
after import
Path: ['/usr/lib/python3/dist-packages/ocrmypdf']
<module 'ocrmypdf' from '/usr/lib/python3/dist-packages/ocrmypdf/__init__.py'>
Version: 8.0.1+dfsg
Traceback (most recent call last):
File "Forum_test.py", line 17, in <module>
print(f"Function: {ocrmypdf.ocr})")
AttributeError: module 'ocrmypdf' has no attribute 'ocr'
Könntest Du mir als Padawan kurz erklären was Du darin siehst?!
Danke
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 15:04
von sparrow
Irgend etwas musst du anders gemacht haben. Denn nun funktioniert der Import grundsätzlich.
Das vorherige Verhalten konnte ich nur dadurch nachstellen, dass ich ein leeres Verzeichnis im Suchpfad ablege, das "ocrmypdf" heißt. Dann findet er das leere Verzeichnis statt eines Moduls. Kein schönes Verhalten, wie ich gerade lerne.
So, das ist jetzt ja nicht mehr das Problem. Aber: Das ist eine uralte ocrmypdf-Version. Ich denke nicht, dass die mit pip installiert wurde. Aktuell ist die Version 11.5.0. Und ich nehme an, die API hat sich seitdem verändert.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 15:10
von HerrYves
OK, das habe ich verstanden.
Im Moment kann ich (mit meinem Wissensstand) nur per apt oder pip3 installieren.
Das habe ich gemacht.
Habe ich eine andere Möglichkeit die aktuelle Version zu installieren?
Anders gemacht habe ich, dass ich die Installation wie schon geschrieben rückgängig gemacht habe und per PIP3 das Modul neu installiert.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 15:15
von sparrow
Ja, du kannst die aktuelle Version mit pip installieren. Das hast du möglicherweise gemacht.
Du hast aber auch mit apt installiert. Und damit kam eine uralte Version. Willkommen bei Debian.
Ich bin nicht mehr tief genug drin in Debian, aber ein beherztes "sudo apt-get purge ocrmypdf" sollte die Version aus dem Debian-Paketquellen von der Platte entfernen und ein anschließendes "pip install ocrmypdf" hoffentlich die aktuelle Version über die Python-Bordmittel installieren.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 15:30
von HerrYves
So, habe ich gemacht.
Lief jetzt eine Weile und hat zwischen durch diese Fehlermeldung gebracht:
Code: Alles auswählen
Failed building wheel for pikepdf
Running setup.py clean for pikepdf
Failed to build pikepdf
Installing collected packages: pikepdf, ocrmypdf
Running setup.py install for pikepdf ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ku884k3z/pikepdf/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-u5wpkfk6/install-record.txt --single-version-externally-managed --compile --user --prefix=:
/usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'cmd_class'
warnings.warn(msg)
running install
running build
running build_py
creating build
creating build/lib.linux-armv6l-3.7
creating build/lib.linux-armv6l-3.7/pikepdf
copying src/pikepdf/objects.py -> build/lib.linux-armv6l-3.7/pikepdf
copying src/pikepdf/jbig2.py -> build/lib.linux-armv6l-3.7/pikepdf
copying src/pikepdf/_methods.py -> build/lib.linux-armv6l-3.7/pikepdf
copying src/pikepdf/codec.py -> build/lib.linux-armv6l-3.7/pikepdf
copying src/pikepdf/_version.py -> build/lib.linux-armv6l-3.7/pikepdf
copying src/pikepdf/_cpphelpers.py -> build/lib.linux-armv6l-3.7/pikepdf
copying src/pikepdf/__init__.py -> build/lib.linux-armv6l-3.7/pikepdf
creating build/lib.linux-armv6l-3.7/pikepdf/models
copying src/pikepdf/models/outlines.py -> build/lib.linux-armv6l-3.7/pikepdf/models
copying src/pikepdf/models/matrix.py -> build/lib.linux-armv6l-3.7/pikepdf/models
copying src/pikepdf/models/metadata.py -> build/lib.linux-armv6l-3.7/pikepdf/models
copying src/pikepdf/models/image.py -> build/lib.linux-armv6l-3.7/pikepdf/models
copying src/pikepdf/models/encryption.py -> build/lib.linux-armv6l-3.7/pikepdf/models
copying src/pikepdf/models/__init__.py -> build/lib.linux-armv6l-3.7/pikepdf/models
copying src/pikepdf/py.typed -> build/lib.linux-armv6l-3.7/pikepdf
running build_ext
building 'pikepdf._qpdf' extension
creating build/temp.linux-armv6l-3.7
creating build/temp.linux-armv6l-3.7/src
creating build/temp.linux-armv6l-3.7/src/qpdf
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/tmp/pip-build-env-41n2d4lp/lib/python3.7/site-packages/pybind11/include -I/usr/include/python3.7m -c src/qpdf/annotation.cpp -o build/temp.linux-armv6l-3.7/src/qpdf/annotation.o -std=c++14 -fvisibility=hidden -g0
src/qpdf/annotation.cpp:11:10: fatal error: qpdf/Constants.h: Datei oder Verzeichnis nicht gefunden
#include <qpdf/Constants.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ku884k3z/pikepdf/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-u5wpkfk6/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-ku884k3z/pikepdf/
Kann ich das separat nachinstallieren?
Ansonsten kommt jetzt folgende Fehlermeldung:
Code: Alles auswählen
Traceback (most recent call last):
File "OCR-Final1.py", line 4, in <module>
import ocrmypdf
ModuleNotFoundError: No module named 'ocrmypdf'
und die Ausgabe aus der Versionskontrolle:
Code: Alles auswählen
Sys Version: 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0]
Traceback (most recent call last):
File "Forum_test.py", line 12, in <module>
import ocrmypdf
ModuleNotFoundError: No module named 'ocrmypdf'

Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 15:34
von HerrYves

Ich finde jetzt keine Ordner OCRmyPDF im /usr/lib/python3/dist-packages.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 15:43
von sparrow
Offensichtlich hängt ocrmypdf von pikepdf ab, was für das System erst übersetzt werden müsste.
Ich habe aber seit Jahren kein Linux mehr, deshalb weiß ich nicht, wie nun das weitere Vorgehen wäre.
Auch um das nochmal zu sagen: Ich weiß nicht, ob es tatsächlich an der veralteten Version liegt - finde das aber naheliegend.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 15:46
von HerrYves
@sparrow:
Ich danke Dir auf alle Fälle recht herzlich.
Du hast mich, auch was Fehlersuche angeht wirklich weiter gebracht.
Dir eine gute Zeit.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 16:00
von __blackjack__
Ich denke das Problem ist ein `ocrmypdf`-Verzeichnis. Das muss ja nicht leer sein. Wenn da keine `__init__.py` drin ist, dann wird das von aktuellen Python-Versionen als Namespace-Package angesehen. Also wenn Du das Problem hast, ist dann zufällig ein `ocrmypdf`-Verzeichnis im Suchpfad?
Ich stelle gerade fest, dass das ein totales Kack-„Feature“ ist, dass keine `__init__.py` mehr da sein muss. Man kann sich Skripte damit unbrauchbar machen in dem einfach zufällig (oder auch nicht) ein Verzeichnis mit dem Namen eines benötigten Moduls im Modulsuchpfad steht, der ja üblicherweise auch das Verzeichnis in dem das Skript liegt mit enthält. Wenn man also beispielsweise ein Skript im Heimatverzeichnis oder auf dem Desktop ablegt das CSV-Daten mit dem `csv`-Modul verarbeitet, darf man im Heimatverzeichnis oder auf dem Desktop kein Verzeichnis mit dem Namen `csv` anlegen, denn dann geht das Skript ”kaputt”.

Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 16:03
von sparrow
@__blackjack__: Ich hab das Feauture gerade erst gefunden und bin regelrecht schockiert. Aber schau mal, um 14:51 war das Modul in Ordnung, die gewünschte Funktion aber trotzdem nicht vorhanden. Deshalb denke ich, dass es da an der alten Version lag.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 16:42
von HerrYves
@__blackjack__:
Ich verstehe die Frage nach dem Suchpfad nicht ganz.
Du hast dahin gehend recht, dass das Problem der OCRmyPDF Ordner ist. Nach meinem Aufräumen des OCRmyPDF kann ich es nicht mehr installieren und der Ordner ist auch nicht mehr da.
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 16:56
von HerrYves
@__blackjack__ @sparrow:
Ist das ev. auch der Grund warum es auf Ubuntu läuft und auf dem RasPi nicht?
Weil die Installation auf unterschiedliche Versionen zugreift?
Re: OCRmyPDF API läuft auf Ubuntu aber nicht auf Raspberry Pi
Verfasst: Donnerstag 21. Januar 2021, 16:59
von HerrYves
@sparrow:
Ich habe jetzt die "alte" Version wieder per apt installiert und es kommt wieder der Fehler von 14:51.
Ich gehe mal davon aus, dass es für den RasPi keine Version gibt. Oder?