Моя конечная цель - извлечь карту тайла, используя контекст и графику (из этого примера ):
import geopandas
import contextily as ctx
df = geopandas.read_file(geopandas.datasets.get_path('nybb'))
df = df.to_crs(epsg=3857)
ax = df.plot(figsize=(10, 10), alpha=0.5, edgecolor='k')
ctx.add_basemap(ax)
Я использую Anaconda за прокси-сервером компании. Прокси установлены правильно в файле .condar c:
proxy_servers:
http: http://myproxy.com:8080
https: https://myproxy.com:8080
Установка пакета работает нормально, и conda config --show
действительно определяет конфигурацию прокси.
Однако я получаю следующее Ошибка urllib3 после ctx.add_basemap(ax)
:
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x000001EDD50E66D8>: Failed to establish a new connection
Что я не понимаю, так это то, что, несмотря на конфигурацию прокси, мне нужно указать настройку прокси, чтобы базовый c запрос urllib3 работал.
Если прокси не указан:
http = urllib3.PoolManager()
r = http.request('GET', 'http://httpbin.org/robots.txt')
Out: NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000012FE62B0F98>: Failed to establish a new connection:
Но указание прокси работает:
proxy = urllib3.ProxyManager('http://myproxy.com:8080')
proxy.request('GET', 'http://google.com/')
Out: <urllib3.response.HTTPResponse at 0x12fe6280048>
Я бы предположил, что настройка прокси в Anaconda будет обрабатывать это для любого веб-запроса .
Я думал о том, чтобы попытаться установить определенную информацию прокси для urllib3, как я понимаю, это делается через urllib.request.install_opener(opener)
в { ссылка }, но такой «открывашка» не кажется существовать для urllib3.
В конце концов:
- Как указать прокси-информацию с использованием контекста?
- Почему для установки прокси-информации в Anaconda недостаточно для urllib3 ?
Любая помощь оценил, спасибо.