Есть ли исправление ошибок SSL в коде Visual Studio?

#python #python-3.x #python-2.7 #ssl

#python #python-3.x #python-2.7 #ssl

Вопрос:

Я студент, изучающий Python, и я работаю с извлечением информации с веб-страниц. Если я пытаюсь запустить эту программу, которая извлекает информацию из прямой трансляции землетрясений, я получаю ошибку SSL (подробнее об этом ниже).) В коде нет ошибок, о которых я знаю, поскольку я следую вместе с преподавателем онлайн-курсу.

Я пробовал запускать как команду Install Certificates, так и команду Update Shell Profile, ни то, ни другое не работает. Я пишу на python 3.7.2 в Visual Studio code, я также нахожусь на Mac. Код ошибки, который я получаю, это:

 Exception has occurred: URLError
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1319, in do_open
    raise URLError(err)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1360, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 543, in _open
    '_open', req)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 755, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 563, in error
    result = self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 641, in http_response
    'http', request, response, code, msg, hdrs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 222, in urlopen
  

Я также получил это сообщение в своем терминале:

 Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/certifi-2019.3.9.dist-info'
Consider using the `--user` option or check the permissions.

You are using pip version 18.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command
  

Я попытался ввести это в терминал, и он говорит, что команда не найдена. Я использую школьный компьютер, поэтому некоторые вещи заблокированы, и, возможно, это часть проблемы, я действительно не знаю. Вот мой код:

 import urllib.request 
import json

def printResults(data):
  theJSON = json.loads(data)

  if "title" in theJSON["metadata"]:
    print(theJSON["metadata"]["title"])

  count = theJSON["metadata"]["count"]
  print (str(count)   " events recorded")

def main():
  urlData = "http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson"

  webUrl = urllib.request.urlopen(urlData)
  print ("result code: "   str(webUrl.getcode()))
  if (webUrl.getcode() == 200):
    data = webUrl.read()
    printResults(data)
  else: 
    print("Received error, cannot parse results")

if __name__ == "__main__":
  main()
  

Если у вас есть решение, помните, что я студент первого семестра компьютерных наук, поэтому, пожалуйста, объясните это просто.