glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
Es wird vermutlich noch ein paar Tage dauern, bis ich an meinem Script Änderungen machen kann. Ich muss mehr als 10TB umorganisieren. Daher mache ich zur Zeit nur Trockenübungen. Das mit dem exec habe ich verstanden, bin mir aber noch nicht klar, wie ich den Wrapper in mein Script integriere. Ich nenne den Wrapper geoinfo.py.sh. Kann ich den Wrapper dann aus meinem Bash-Script aufrufen, oder schließt mir exec dann mein Bash-Script?
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
python3 -m venv ~/geoinfo_python
ab@sv:~/Schreibtisch$ geoinfo_venv='/home/ab/geoinfo_python'
ab@sv:~/Schreibtisch$ source "${geoinfo_venv}/bin/activate"
(geoinfo_python) ab@sv:~/Schreibtisch$ /usr/local/bin/geoinfo.py ... Jetzt hänge ich da: Traceback (most recent call last):
File "/usr/local/bin/geoinfo.py", line 3, in <module>
import exifread
ImportError: No module named 'exifread'
(geoinfo_python) ab@sv:~/Schreibtisch$ "pip3 install exifread" hatte ich als root ausgeführt.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11225
Wohnort: München
|
Dann fehlt das exifread-Modul - das kannst du bei aktivem venv einfach nachinstallieren:
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
Dachrte mir, das wäre installiert. An so eine Fehlermeldung errinere ich mich nicht. Das habe ich in einem neuen Terminal eingegeben: ab@sv:~/Schreibtisch$ geoinfo_venv='/home/ab/geoinfo_python'
ab@sv:~/Schreibtisch$ source "${geoinfo_venv}/bin/activate"
(geoinfo_python) ab@sv:~/Schreibtisch$ pip3 install exifread
Collecting exifread
Downloading ExifRead-2.1.2.tar.gz
Building wheels for collected packages: exifread
Running setup.py bdist_wheel for exifread ... error
Complete output from command /home/ab/geoinfo_python/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-xep8prje/exifread/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpoiw6sz04pip-wheel- --python-tag cp35:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for exifread
Running setup.py clean for exifread
Failed to build exifread
Installing collected packages: exifread
Running setup.py install for exifread ... done
Successfully installed exifread-2.1.2
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11225
Wohnort: München
|
glaskugel schrieb: You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Du hast wohl den Schritt übersprungen bei dem du pip im venv aktuialisierst: pip3 install --upgrade pip
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
Damit ich nicht irgendeinen Fehler mache, der zum Chaos führt. Ich mache das also als User oder soll ich das als root machen? Muss ich davor noch was ausführen? zB: geoinfo_venv='/home/ab/geoinfo_python' ?
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11225
Wohnort: München
|
Du machst das als normaler Nutzer mit aktiviertem venv - wenn du auf Nummer sicher gehen willst, kannst du vorab mit which pip3 nachsehen, ob das pip3 im Pfad für das venv liegt.
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
So jetzt habe ich ein "successfully created cache file" und nun bekomme ich: no elevation data
Traceback (most recent call last):
File "/usr/local/bin/geoinfo.py", line 922, in <module>
main()
File "/usr/local/bin/geoinfo.py", line 918, in main
args.imagefiles)
File "/usr/local/bin/geoinfo.py", line 240, in compare_gpx_with_images
mtd = min(timedeltas)
ValueError: min() arg is an empty sequence
(geoinfo_python) ab@sv:~/Schreibtisch$ "no elevation data" verstehe ich da aber gar nicht. mit einem anderen Foto und gleicherm aber anders benannter gpx-Datei, kommt derselber Fehler.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11225
Wohnort: München
|
Mit welchen Argumenten hast du denn geoinfo.py aufgerufen?
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
Hier alles nach dem Öffnen des Terminals ab@sv:~/Schreibtisch$ python3 -m venv ~/geoinfo_python
ab@sv:~/Schreibtisch$ geoinfo_venv='/home/ab/geoinfo_python'
ab@sv:~/Schreibtisch$ source "${geoinfo_venv}/bin/activate"
(geoinfo_python) ab@sv:~/Schreibtisch$ /usr/local/bin/geoinfo.py -a "..." -u ... -lde /fotos/....gpx /fotos/....dng
trying to open /fotos/....cache...
sucessfully loaded cache file
initializing tzwhere...
__init__() got an unexpected keyword argument 'shapely'
(<class 'TypeError'>, TypeError("__init__() got an unexpected keyword argument 'shapely'",), <traceback object at 0x7fdde11e57c8>)
creating cache file...
successfully created cache file /fotos/....cache
### track elevation stats ###
no elevation data
Traceback (most recent call last):
File "/usr/local/bin/geoinfo.py", line 922, in <module>
main()
File "/usr/local/bin/geoinfo.py", line 918, in main
args.imagefiles)
File "/usr/local/bin/geoinfo.py", line 240, in compare_gpx_with_images
mtd = min(timedeltas)
ValueError: min() arg is an empty sequence
(geoinfo_python) ab@sv:~/Schreibtisch$ Übrigens, es hatte schon alles unter Xenial perfekt funktioniert. Nach einer Neuinstallation passte es nicht mehr. Vermutlich kam genau in dieser Zeit ein Update. Edit: Ich bin extrem vorsichtig, sollte ich mal versuchen auf Updates zu prüfen? Wie genau? Vielleicht habe ich da doch eine Mischung verschiedener Python-Versionen irgendwie geschafft?
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11225
Wohnort: München
|
Das ist der Grund weshalb man nicht wahllos ein paar Zeilen aus der Fehlermeldung herauspicken sollte - jede Zeile zählt. Wie es aussieht ist mit tzwhere 3.x shapely eine feste Abhängigkeit geworden - also muss das Argument shapely=True aus der geoinfo.py raus:
$ git diff
diff --git a/geoinfo.py b/geoinfo.py
index fb8ba79..2c21e9b 100755
--- a/geoinfo.py
+++ b/geoinfo.py
@@ -406,7 +406,7 @@ class Geoinfo(object):
previous_point = None
if not self.target_tz and not isinstance(self.tzw, tzwhere.tzwhere):
eprint("initializing tzwhere...")
- self.tzw = tzwhere.tzwhere(shapely=True, forceTZ=True)
+ self.tzw = tzwhere.tzwhere(forceTZ=True)
eprint("created tzwhere object")
for point, new_segment in self.yield_gpx_trackpoints(gpx_data.tracks):
if new_segment:
Dann scheint die setup.py Datei von tzwhere zwei Dateien nicht zu installieren - das kannst du so nachholen:
wget https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world.json -O "${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world.json"
wget https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world_shortcuts.json -O '${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json'
Aus Geschwindigkeitsgründen würde ich auch noch numpy dazu installieren:
pip3 install --upgrade numpy
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
Eigentlich existiert die Datei:
tz_world_shortcuts.json: Datei oder Verzeichnis nicht gefunden ab@sv:~/Schreibtisch$ python3 -m venv ~/geoinfo_python
ab@sv:~/Schreibtisch$ geoinfo_venv='/home/ab/geoinfo_python'
ab@sv:~/Schreibtisch$ source "${geoinfo_venv}/bin/activate"
(geoinfo_python) ab@sv:~/Schreibtisch$ wget https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world.json -O "${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world.json"
--2017-07-25 21:23:55-- https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world.json
Auflösen des Hostnamen »github.com (github.com)«... 192.30.253.112, 192.30.253.113
Verbindungsaufbau zu github.com (github.com)|192.30.253.112|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 302 Found
Platz: https://raw.githubusercontent.com/pegler/pytzwhere/master/tzwhere/tz_world.json [folge]
--2017-07-25 21:23:55-- https://raw.githubusercontent.com/pegler/pytzwhere/master/tzwhere/tz_world.json
Auflösen des Hostnamen »raw.githubusercontent.com (raw.githubusercontent.com)«... 151.101.112.133
Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 97379571 (93M) [text/plain]
In »»/home/ab/geoinfo_python/lib/python3.5/site-packages/tzwhere/tz_world.json«« speichern.
/home/ab/geoinfo_py 100%[===================>] 92,87M 1,45MB/s in 64s
2017-07-25 21:25:03 (1,44 MB/s) - »/home/ab/geoinfo_python/lib/python3.5/site-packages/tzwhere/tz_world.json« gespeichert [97379571/97379571]
(geoinfo_python) ab@sv:~/Schreibtisch$ wget https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world_shortcuts.json -O '${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json'
# 2. Versuch
(geoinfo_python) ab@sv:~/Schreibtisch$ wget https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world_shortcuts.json -O '${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json'
${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json: Datei oder Verzeichnis nicht gefunden
(geoinfo_python) ab@sv:~/Schreibtisch$ pip3 install --upgrade numpy
Collecting numpy
Downloading numpy-1.13.1-cp35-cp35m-manylinux1_x86_64.whl (16.9MB)
100% |████████████████████████████████| 16.9MB 84kB/s
Installing collected packages: numpy
Successfully installed numpy-1.13.1
(geoinfo_python) ab@sv:~/Schreibtisch$
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11225
Wohnort: München
|
Ah, da braucht es doppelte statt einfache Anführungzeichen, damit die Variable eingesetzt werden kann:
wget https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world_shortcuts.json -O "${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json"
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 3460
|
Danke für deine Mühen, aber noch ist es nicht geschafft 😉 ab@sv:~/Schreibtisch$ python3 -m venv ~/geoinfo_python
ab@sv:~/Schreibtisch$ geoinfo_venv='/home/ab/geoinfo_python'
ab@sv:~/Schreibtisch$ source "${geoinfo_venv}/bin/activate"
(geoinfo_python) ab@sv:~/Schreibtisch$ wget https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world_shortcuts.json -O "${geoinfo_venv}/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json"
--2017-07-25 22:02:56-- https://github.com/pegler/pytzwhere/raw/master/tzwhere/tz_world_shortcuts.json
Auflösen des Hostnamen »github.com (github.com)«... 192.30.253.112, 192.30.253.113
Verbindungsaufbau zu github.com (github.com)|192.30.253.112|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 302 Found
Platz: https://raw.githubusercontent.com/pegler/pytzwhere/master/tzwhere/tz_world_shortcuts.json [folge]
--2017-07-25 22:02:56-- https://raw.githubusercontent.com/pegler/pytzwhere/master/tzwhere/tz_world_shortcuts.json
Auflösen des Hostnamen »raw.githubusercontent.com (raw.githubusercontent.com)«... 151.101.112.133
Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 439120 (429K) [text/plain]
In »»/home/ab/geoinfo_python/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json«« speichern.
/home/ab/geoinfo_py 100%[===================>] 428,83K 1,10MB/s in 0,4s
2017-07-25 22:02:58 (1,10 MB/s) - »/home/ab/geoinfo_python/lib/python3.5/site-packages/tzwhere/tz_world_shortcuts.json« gespeichert [439120/439120]
(geoinfo_python) ab@sv:~/Schreibtisch$ /usr/local/bin/geoinfo.py -a "......" -u ... -lde ....gpx ....dng
trying to open ....cache...
sucessfully loaded cache file
initializing tzwhere...
__init__() got an unexpected keyword argument 'shapely'
(<class 'TypeError'>, TypeError("__init__() got an unexpected keyword argument 'shapely'",), <traceback object at 0x7ff01095b348>)
creating cache file...
successfully created cache file ....cache
### track elevation stats ###
no elevation data
Traceback (most recent call last):
File "/usr/local/bin/geoinfo.py", line 922, in <module>
main()
File "/usr/local/bin/geoinfo.py", line 918, in main
args.imagefiles)
File "/usr/local/bin/geoinfo.py", line 240, in compare_gpx_with_images
mtd = min(timedeltas)
ValueError: min() arg is an empty sequence
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11225
Wohnort: München
|
glaskugel schrieb: Danke für deine Mühen, aber noch ist es nicht geschafft 😉
Ja, als nächstes solltest du die geoinfo.py wie in dem weiter oben geposteten Patch anpassen, damit dieser Fehler verschwindet und tzwhere wieder funktioniert. (geoinfo_python) ab@sv:~/Schreibtisch$ /usr/local/bin/geoinfo.py -a "......" -u ... -lde ....gpx ....dng
trying to open ....cache...
sucessfully loaded cache file
initializing tzwhere...
__init__() got an unexpected keyword argument 'shapely'
(<class 'TypeError'>, TypeError("__init__() got an unexpected keyword argument 'shapely'",), <traceback object at 0x7ff01095b348>)
|