如何使用 geopy 在 Anaconda 虚拟环境中禁用证书检查

How can I disable the certificate check in Anaconda virtual environment with geopy

当运行 Python 2.7.10 下面的代码在没有Conda 虚拟环境的Anaconda 下时,它工作正常。那是一年前的事了。

from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.reverse("16.890568, 42.543554", language="en")

如果 运行 现在在 Anaconda Conda 虚拟环境中使用相同的代码,根目录为 Python 3.6,使用的虚拟环境为 Python 2.7.[=13,则会出现此错误=]

GeocoderServiceError: 
  <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)>

试图搜索 SO,Google 并检查 geopy,仍然没有找到答案。在搜索过程中,似乎禁用 ssl 证书检查可能是一个可行的解决方案,但不知道如何。欢迎提出任何建议。

遇到这个 site 并找到了使它再次工作的解决方法。只需在分配 geolocator.

之前插入 try-except-else 代码
from geopy.geocoders import Nominatim

# Disable SSL certificate verification 
try:
    _create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
    # Legacy Python that doesn't verify HTTPS certificates by default
    pass
else:
    # Handle target environment that doesn't support HTTPS verification
    ssl._create_default_https_context = _create_unverified_https_context

location = geolocator.reverse("16.890568, 42.543554", language="en")