staging.inyokaproject.org

Kommandozeilen-Tool um Koordinaten + Geoinfo aus gpx-File zuzuordnen

Status: Ungelöst | Ubuntu-Version: Xubuntu 14.04 (Trusty Tahr)
Antworten |

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Wie es aussieht, kann man die Timezone-API mittlerweile nur noch nutzen, wenn man Zahlungsinformationen hinterlegt

Das ist bei meinem 1. Key sicher nicht der Fall.

Dass er überhaupt auf die Google Timezone API zurückfällt

Wie schon froher geschrieben passiert das nicht so oft, aber doch. Ich vermute aber, dass es eher dort passiert, wo keine Fotos gemacht wurden. Ich kann mir bei OSM gut Probleme im Inneren von Asien, wie Afghanistan, Kasachstan, etc. vorstellen, aber auch in der Javasee, wo schon auf dem Schiff, aber in Künstennähe, Fotos gemacht worden sind.

Danke für die neue Version. Nach Tests melde ich mich mit Feedback,

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

glaskugel schrieb:

Wie es aussieht, kann man die Timezone-API mittlerweile nur noch nutzen, wenn man Zahlungsinformationen hinterlegt

Das ist bei meinem 1. Key sicher nicht der Fall.

Eventuell das Werbeangebot mit den 300 $ Guthaben für ein Jahr angeklickt? https://cloud.google.com/free/?

Bilder

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Zuerst, das neue Script funktioniert bis jetzt, dort wo es nicht funktioniert hat, ob überall wird sich zeigen.

Ich habe mich in der Konsole mit meinem Key, als den 1., der funktioniert, schon ewig nicht mehr angemeldet. Es hat vor dem Anmelden funktioniert. Ich will da jetzt allerdings nicht zu viel rumstochern, solange es funktioniert. Ca. 3000 Abfragen sind ja nicht so viel für eine Reise von ca. 15.000 km.

Ist das bei dir nun in der Gratis-Version durchgelaufen, oder hast du auch die Fehlermeldung bekommen?

Danke vielmals!

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

Mir ist gerade aufgefallen, dass ich in Zeile 850 ein not nach dem letzten and vergessen hatte - damit wird die Zeitzonen-Abfrage per Google API komplett deaktiviert. Wenn du das nicht willst, nimm die Version aus dem Anhang, da ist das gefixt.

geoinfo.py (39.8 KiB)
Download geoinfo.py

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

glaskugel schrieb:

Ist das bei dir nun in der Gratis-Version durchgelaufen, oder hast du auch die Fehlermeldung bekommen?

Ich habe da auch einen Access Denied Fehler bekommen.

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Ich habe da auch einen Access Denied Fehler bekommen.

Gut zu wissen, danke!

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Ich bin gerade dabei auf 22.04 Jammy umzusteigen, da passiert folgendes:

# pip3 install googlemaps
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/googlemaps/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/googlemaps/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/googlemaps/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/googlemaps/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/googlemaps/
ERROR: Could not find a version that satisfies the requirement googlemaps (from versions: none)
ERROR: No matching distribution found for googlemaps

Ich will systemweit installieren und installiere als root:

  • pip3 install geopy

  • pip3 install gpxpy

  • pip3 install exifread

  • pip3 install tzwhere

  • pip3 install pycountry

  • pip3 install googlemaps

Googlemaps wird also nicht gefunden und alle anderen Installationen waren ähnlich problemisch wie die folgende, gingen aber durch:

# pip3 install pycountry
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/pycountry/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/pycountry/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/pycountry/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/pycountry/
Collecting pycountry
  Downloading pycountry-22.3.5.tar.gz (10.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.1/10.1 MB 8.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from pycountry) (59.6.0)
Building wheels for collected packages: pycountry
  Building wheel for pycountry (pyproject.toml) ... done
  Created wheel for pycountry: filename=pycountry-22.3.5-py2.py3-none-any.whl size=10681845 sha256=69eb0a88cc84e19325d67484187f6ea934d470e8442156c9b9a39ae87c1f16d9
  Stored in directory: /root/.cache/pip/wheels/03/57/cc/290c5252ec97a6d78d36479a3c5e5ecc76318afcb241ad9dbe
Successfully built pycountry
Installing collected packages: pycountry
Successfully installed pycountry-22.3.5
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

Ist das jetzt nur ein temporäres Problem, oder ist das was ernstes?

Edit:

Nach einem 3. Versuch ging es durch und nun viel schneller als bei den anderen davor.

# pip3 install googlemaps
Collecting googlemaps
  Downloading googlemaps-4.6.0.tar.gz (31 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: requests<3.0,>=2.20.0 in /usr/lib/python3/dist-packages (from googlemaps) (2.25.1)
Building wheels for collected packages: googlemaps
  Building wheel for googlemaps (setup.py) ... done
  Created wheel for googlemaps: filename=googlemaps-4.6.0-py3-none-any.whl size=38554 sha256=57022215af567a7323766f4883fc9bea611b319e657572c6bd4e831990cc2999
  Stored in directory: /root/.cache/pip/wheels/cc/e2/8e/4e9b9e41c62fdbcaddcbcdbfc840d40230beab3d2e321231a7
Successfully built googlemaps
Installing collected packages: googlemaps
Successfully installed googlemaps-4.6.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager.

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Ich habe mich bis jetzt immer um ein Update gedrückt und 22.04 verwendet.

24.04 macht bei den notwendigen Paketen ziemliche Probleme, aber bei 25.04 ist das Problem "nur" tzwhere

apt install python3-tzwhere
Fehler: Paket python3-tzwhere kann nicht gefunden werden.

Mit pip wird auf python3-tzwhere verwiesen.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

Wenn du versuchst etwas mit pip systemweit zu installieren, solltest du diese Meldung bekommen:

$ pip install tzwhere
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Das ist einfach nur der Hinweis, dass es besser ist die Abhängigkeiten für ein Projekt in einem Virtual Environment vorzuhalten als das ins System zu schreiben.

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Ich bin jetzt gerade auf einem 24.04-PC, also nicht 25.04

Das ist einfach nur der Hinweis

Ich vernachlässige Sicherheitsbedenken, ist einfacher das Script allen Usern (Familie) zur Verfügung zu stellen.

pip3 install tzwhere
error: externally-managed-environment

Da passiert nichts. Bei Installation als User (wäre 2. Wahl) passiert auch nichts.

Früher sah das mal so aus:

~# pip3 install tzwhere
Collecting tzwhere
  Downloading tzwhere-3.0.3.tar.gz (23.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.7/23.7 MB 7.6 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: shapely in /usr/lib/python3/dist-packages (from tzwhere) (1.8.0)
Building wheels for collected packages: tzwhere
  Building wheel for tzwhere (setup.py) ... done
  Created wheel for tzwhere: filename=tzwhere-3.0.3-py3-none-any.whl size=23742599 sha256=81c69164c7db37553c6b8b279f930aa307ab05fa5cb2365a778ca4cb121d6b6d
  Stored in directory: /root/.cache/pip/wheels/fc/41/05/71acea338ac02030bc7d7cae140be7b033faaafab96a6dfdc2
Successfully built tzwhere
Installing collected packages: tzwhere
Successfully installed tzwhere-3.0.3
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

Was soll ich probieren?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

Wie schon geschrieben ich würde ein Virtual Environment verwenden - das kann man ja durchaus anderen Nutzern zugänglich machen - dazu reicht ein Shell-Skript, dass den Python-Interpreter daraus nutzt und damit das Skript aufruft.

Ansonsten gibt es wie in der Meldung zu lesen noch die Möglichkeit die systemweite Installation zu erzwingen - das hat aber den Nachteil, dass man sich damit sein System durcheinander bringen kann:

You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Ich habe mich um das Problem nicht mehr gekümmert, da ich zuerst einen neuen PC kaufen wollte.

Die Frage ist, ob man Teile über apt und andere, die es nicht über apt gibt via pip installieren kann?

/usr/local/bin/geoinfo.py:169: SyntaxWarning: invalid escape sequence '\d'
  self.coord_re = re.compile('-?\d+\.\d+')
Traceback (most recent call last):
  File "/usr/local/bin/geoinfo.py", line 3, in <module>
    import exifread
ModuleNotFoundError: No module named 'exifread'

Aber:

$ dpkg -l | grep exifread
ii  python3-exifread                               3.0.0-1                                    all          Python library to extract Exif data from TIFF and JPEG files

So bin ich vorgegangen:

$ python3 -m venv myenv
$ source myenv/bin/activate

Dann aber nur die Pakete installiert, die es nicht über apt gab, zB:

~$ pip install googlemaps

Soll ich die apt-Pakete mit "python3-modul" deinstallieren und alles über pip installieren?

Habe das einfach mal probiert. Die Fehlermeldung mit exifread ist weg, dafür kommt jetzt

/usr/local/bin/geoinfo.py:169: SyntaxWarning: invalid escape sequence '\d'
  self.coord_re = re.compile('-?\d+\.\d+')
Traceback (most recent call last):
  File "/usr/local/bin/geoinfo.py", line 14, in <module>
    import pytz
ModuleNotFoundError: No module named 'pytz'

Ich kann mich nicht erinnern irgendwann pytz installiert zu haben, hoffentlich täusche ich mich da nicht. "pip install tzwhere" habe ich gemacht.

"pip install pytz" scheint das Problem zu beheben.

Diese Meldung bleibt:

/usr/local/bin/geoinfo.py:169: SyntaxWarning: invalid escape sequence '\d'
  self.coord_re = re.compile('-?\d+\.\d+')
unused attributes: ISO3166-2-lvl4

Ich möchte wissen, ob ich was falsch gemacht habe. Auf den 1. Blick scheint es zu funktionieren, aber ich teste noch.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

Wenn du ein Virtual Environment anlegst, kannst du dich entscheiden, ob systemweit installierte Module berücksichtigt werden sollen oder nicht - falls du das willst, musst du das Falg --system-side-packages nutzen: https://docs.python.org/3/library/venv.html#cmdoption-venv-system-site-packages

python3 -m venv --system-side-packages myenv

Die Warnung wegen der invalid escape sequence sollte sich mit einer vor dem String platzierten r lösen lassen, also

  self.coord_re = re.compile(r'-?\d+\.\d+')

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3849

Danke dir für die Erklärung.

Die Warnung wegen der invalid escape

Ich kann also theoretisch einfach gar nichts tun und die Ausgabe ignorieren?

Ich habe bisher ja nicht "venv" verwendet.

Bis jetzt hat mein Bash-Script "/usr/local/bin/geoinfo.py" aufgerufen. Kann ich davor im Bash-Script einfach "source myenv/bin/activate" aufrufen?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

glaskugel schrieb:

Bis jetzt hat mein Bash-Script "/usr/local/bin/geoinfo.py" aufgerufen. Kann ich davor im Bash-Script einfach "source myenv/bin/activate" aufrufen?

Kannst du machen, aber einfacher wäre es direkt myenv/bin/python /usr/local/bin/geoinfo.py aufzurufen.

Antworten |