[PYTHON] Installieren Sie pyproj auf Jetson / RasPi

Ich bin süchtig danach, ein neues Pyproj (Version 2.1 oder höher) mit Docker mit Jetson Nanos Docker-Build zu installieren. Notieren Sie es sich also. pyproj ist ein sehr nützliches Werkzeug, mit dem Sie Ihr geodätisches System transformieren können. (vgl.) Meine früheren Beiträge

Hintergrund

Was war falsch

Bisher habe ich `` `pyproj == 2.6.1.post1``` in requirex.txt für pip3 geschrieben. Es funktionierte auf WSL1 (ubuntu18.04) für Notebooks und Docker-Image (ubuntu18.04 base) für CI / CD auf Google Cloud Platform. Ich habe versucht, dasselbe mit Jetson Nano (Jetpak4.4? Ubuntu18.04) oder Docker für Himbeer-Pi4 zu tun, aber es funktionierte nicht mit dieser Anforderung.txt, wahrscheinlich weil sich die CPU von ARMv8 unterscheidet.

PROJ-Version

Der Stabilisator von Pyproj scheint jetzt 2.6.1 zu sein (2020/10/07). http://pyproj4.github.io/pyproj/stable/

image.png

Wie Sie hier sehen können, muss auf PROJ 6.2.0 oder höher installiert sein. Das Problem war, dass ich keine neue Bibliothek namens PROJ installieren konnte, die von pyproj verwendet wurde. (cf.) PROJ (https://proj.org/) image.png

Wenn Sie nur PROJ und libproj.a installieren möchten, können Sie dies unten tun. Tatsächlich ist es in den Installationsanweisungen der head-Familie geschrieben.

$ sudo apt install proj-bin
$ sudo apt install libproj-dev

Das Problem ist jedoch, dass selbst wenn Sie dies tun, nur die alten enthalten sind.

$ proj
Rel. 4.9.3, 15 August 2016
usage: proj [ -bCeEfiIlormsStTvVwW [args] ] [ +opts[=arg] ] [ files ]

$  ldd `which proj` | grep libproj
        libproj.so.12 => /usr/lib/x86_64-linux-gnu/libproj.so.12 (0x00007f2adad70000)

Selbst in diesem Zustand kann die Installation von pip3 durchgeführt werden, wenn `` `pyproj == 1.9.6``` und pyproj ebenfalls alt sind. Mein Code verwendete jedoch die API von pyproj> = 2.1. Ich möchte den Code nicht umschreiben, deshalb habe ich beschlossen, mein Bestes zu geben, um pyproj zu installieren.

Wie installiert man

Immerhin habe ich die neueste Version von PROJ aus dem Quellcode erstellt, installiert und dann pip3, um pyproj == 2.6.1.post1 zu erhalten. Dies ist die Installation von PROJ, aber es ist ziemlich gut.

Installieren Sie PROJ

Der Punkt ist

$ apt install -y \
  zlib1g-dev libsqlite3-dev pkg-config sqlite3 libcurl4-gnutls-dev libtiff5-dev 
$ wget https://download.osgeo.org/proj/proj-7.1.1.tar.gz
$ tar zxvf proj-7.1.1.tar.gz
# cd proj-7.1.1 && ./configure && make && make install
$ export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

Der neue ist sicher angekommen.

$ proj
Rel. 7.0.1, May 1st, 2020
usage: proj [-bdeEfiIlmorsStTvVwW [args]] [+opt[=arg] ...] [file ...]
$ ldd `which proj` | grep libproj
        libproj.so.19 => /usr/local/lib/libproj.so.19 (0x0000007fad95b000)

Installieren Sie pyproj

Wie Sie beim Ausführen von pip3 sehen können, müssen Sie eine Umgebungsvariable namens PROJ_DIR festlegen. Ich war unten in Ordnung. Es schien sich auf "$ PROJ_DIR / lib / libproj.a" und "$ PROJ_DIR / bin / proj" zu beziehen.

$ export PROJ_DIR=/usr/local/
$ pip3 install pyproj==2.6.1.post1

Ich habe diesen Inhalt in eine Docker-Datei geschrieben und erfolgreich Docker erstellt. Der Docker-Build hat lange gedauert. Aus der Quelle zu bauen ist schwer.

Eine Methode, die später möglicherweise einfacher zu realisieren ist

Es gab viele Abhängigkeiten beim Erstellen von PROJ und beim Installieren von pyproj, aber vielleicht hätte ich auf die Docker-Datei in der pyproj-Quelle verweisen sollen. Ist es heutzutage wirklich so, mit Docker zu verteilen?

Die https://github.com/OSGeo/PROJ/blob/master/Dockerfile enthält Folgendes: image.png

Möchten Sie Pyproj von Github klonen und direkt erstellen? (https://github.com/pyproj4/pyproj)

Ende

Also habe ich mein Ziel erfolgreich erreicht (mit pyproj in Docker Build / Run auf ARMv8). Es gibt kein TODO im Besonderen, aber ich bin sicher, dass es eine glückliche Welt sein wird, die in Zukunft mit apt und pip leicht zu betreten sein wird. Es tut mir leid für diese Anwendung, aber vorerst ist das alles für heute.

Recommended Posts

Installieren Sie pyproj auf Jetson / RasPi
So installieren Sie OpenCV auf Jetson Nano Python
Installieren Sie Mecab auf Marvericks
Installieren Sie Tensorflow auf dem Mac
Installieren Sie TensorFlow unter Ubuntu
Installieren Sie Python auf der WSL
Installieren Sie Faiss unter CentOS 7
Installieren Sie pyenv auf dem Mac
Installieren Sie pip auf Mavericks
Installieren Sie Python auf Pidora.
Installieren Sie mongodb auf termux
Installieren Sie Scrapy auf Python3
Installieren Sie Docker auf Fedora31
Installieren Sie numba unter CentOS 7.2
Installieren Sie Python auf dem Mac
Installieren von Python 3 in einer Mac-Umgebung
Installieren Sie Plone (4.3.6) unter MacOSX (10.10.3)
Installieren Sie Python3.4 unter CentOS 6.6
Installieren Sie JModelica unter Ubuntu
Installieren Sie Anaconda unter Windows 10
Installiere numpy auf Marvericks
Installieren Sie Python unter Windows
Installieren Sie enebular-agent in Chrome Book
Installieren Sie pycuda unter Windows10
Installieren Sie mecab-python unter CentOS
Installieren Sie Python 2.7.3 unter CentOS 5.4
Installieren Sie pygraphviz unter Windows 10
Installieren Sie Python 3.3 unter Ubuntu 12.04
Installieren Sie Chainer 1.5.0 unter Windows
Installieren Sie Python 3.4 auf einem Mac
Installieren Sie Caffe auf dem Mac
Installieren Sie Theano unter Ubuntu 12.04
Installieren Sie pyenv unter OSX
Installieren Sie Mecab auf dem Mac
Installieren Sie awscli auf centos7
Installiere angr unter Ubuntu 18.04
Installieren Sie Chainer unter CentOS 6.7
Installieren Sie Mecab-Python auf dem Mac
Installiere pip / pip3 unter Ubuntu
Installieren Sie Python 3.6 auf Docker
Installiere octave_kernel auf Jupyter [zusätzlicher Hinweis]
Installieren Sie Numpy in virtualenv unter Windows
Installieren Sie Minecraft unter Arch Linux
Installieren Sie cvxopt auf 64-Bit-Anaconda
Installiere Scrapy auf Raspbian (Jessie)
Installieren Sie Python 3.8 auf RHEL 8 (AppStream)
Installieren Sie Linux auf Chromebox
Installieren Sie pygame auf python3.4 auf dem Mac
Installieren Sie Tomcat 9 unter Cent OS 8
Installieren Sie cvxpy unter Windows, Anaconda
Installieren Sie die ImageMagick-6.2.x-Serie unter CentOS7.7
Installieren Sie Python 3.8 unter CentOS 7 (SCL)
Installieren Sie JDK unter Linux
Installieren Sie das Modul auf Anaconda (Mac)
Installieren Sie OpenPose auf einem Mac (Catalina)
Installieren Sie MariaDB auf Sakuras VPS
Installieren Sie numba auf dem Mac
Installieren Sie pandas 0.14 auf python3.4 [auf Mac]
Installieren Sie OpenCV unter Ubuntu + Python
Installieren Sie Chainer 1.6 (GPU) unter Windows 7.
wsl Installiere PostgreSQL unter Ubuntu 18.04