Pobieranie danych map Cartopy przez proxy
Skonfiguruj pobieracz Pythona dla brakujących danych map lub dostarcz pliki danych oczekiwane przez Cartopy przed rysowaniem offline.
Mapę można wygenerować lokalnie, podczas gdy jej linie brzegowe lub inne dane referencyjne wciąż wymagają pobrania. Jeśli Cartopy nie znajdzie wymaganego zasobu, standardowy Downloader może go pobrać przed ukończeniem rysowania.
Ten pobieracz używa urllib.request.urlopen z Pythona. Dla przekazującego proxy HTTP obsługującego oba schematy docelowe uruchom proces rysowania ze środowiskiem takim jak:
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080Proxy musi znajdować się w środowisku dziedziczonym przez rzeczywisty proces Pythona. Działający już kernel notatnika lub IDE pulpitu może wymagać własnej konfiguracji uruchomienia. W Jupyterze skonfiguruj środowisko startowe wybranego kernela przed pobraniem danych. Zmienna HTTPS nadal może zawierać adres URL proxy HTTP. Publiczne pobierania danych referencyjnych mogą użyć wpisu HTTP z listy proxy HTTP, gdy ta trasa jest dozwolona i nie skonfigurowano konta proxy.
Spójrz na żądany adres URL danych w ostrzeżeniu lub wyjątku pobierania. Brakujący zasób danych, wyzwanie proxy i błąd zaufania HTTPS występują w różnych miejscach; zmiana odwzorowania nie naprawi trasy sieciowej pobieracza.
Dla maszyny, która ma pozostać offline
Dostarcz wymagany zestaw danych z wyprzedzeniem i wskaż Cartopy jego katalog główny:
from pathlib import Path
import cartopy
cartopy.config['pre_existing_data_dir'] = Path('/srv/map-data')Katalog musi mieć układ oczekiwany przez odpowiedni pobieracz, wraz z kompletnymi plikami zestawu danych. Folder zawierający dowolne archiwum nie jest automatycznie ścieżką zasobu, której szuka Cartopy.
pre_existing_data_dir jest sprawdzany przed data_dir. Jeśli zasobu nie ma w obu miejscach, element do pobrania nadal może wywołać pozyskanie do data_dir, który musi być zapisywalny. Ustawienie istniejącego katalogu jest więc wyborem wyszukiwania, a nie globalnym przełącznikiem „nigdy nie używaj sieci”.
Przygotuj każdą rozdzielczość i każdy element wymagany przez planowane rysunki. Wcześniej udana zgrubna mapa nie dowodzi, że bardziej szczegółowa linia brzegowa jest już dostępna. Usługi kafelkowe i niestandardowe pobieracze mogą mieć własne zasady pozyskiwania.