Загрузка картографических данных Cartopy через прокси
Настройте загрузчик Python для недостающих данных карт или заранее подготовьте файлы, которые ожидает Cartopy, перед построением карты без сети.
Карту можно построить локально, хотя её береговые линии или другие справочные данные ещё нужно загрузить. Если Cartopy не находит нужный ресурс, стандартный Downloader может получить его до завершения построения.
Этот загрузчик использует urllib.request.urlopen из Python. Для пересылающего HTTP-прокси, обслуживающего обе схемы назначения, запустите процесс построения с окружением вроде:
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080Прокси должен находиться в окружении, которое наследует реальный процесс Python. Уже запущенное ядро блокнота или настольная IDE может нуждаться в собственной конфигурации запуска. Для Jupyter настройте окружение запуска выбранного ядра до получения данных. Переменная HTTPS по-прежнему может содержать URL HTTP-прокси. Публичные загрузки справочных данных могут использовать HTTP-запись из списка HTTP-прокси, если этот маршрут разрешён и учётная запись прокси не настроена.
Посмотрите на запрошенный URL данных в предупреждении или исключении загрузки. Отсутствующий ресурс данных, запрос прокси и сбой доверия HTTPS происходят на разных этапах; смена проекции не исправит сетевой маршрут загрузчика.
Для машины, которая должна оставаться без сети
Подготовьте нужный набор данных заранее и укажите Cartopy на его корень:
from pathlib import Path
import cartopy
cartopy.config['pre_existing_data_dir'] = Path('/srv/map-data')Каталог должен иметь структуру, ожидаемую соответствующим загрузчиком, включая полные файлы набора данных. Папка с произвольным архивом не является автоматически путём к ресурсу, который ищет Cartopy.
pre_existing_data_dir проверяется раньше data_dir. Если ресурса нет ни там, ни там, загружаемый элемент всё равно может вызвать получение в data_dir, который должен быть доступен для записи. Поэтому задание заранее существующего каталога — это выбор поиска, а не глобальный переключатель «никогда не используй сеть».
Подготовьте каждое разрешение и каждый объект, которые нужны планируемым построениям. Ранее удачная грубая карта не доказывает, что более подробная береговая линия уже доступна. Тайловые сервисы и собственные загрузчики могут иметь свои правила получения.