Gaierror while importing pretrained vgg model on kaggle - python

initial_model = VGG19(weights='imagenet', pooling = max)
I am trying to import a pre-trained VGG model in keras on kaggle. I run through an gaierror which was unfamiliar.
Downloading data from
https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg19_weights_tf_dim_ordering_tf_kernels_notop.h5
--------------------------------------------------------------------------- gaierror Traceback (most recent call
last) /opt/conda/lib/python3.6/urllib/request.py in do_open(self,
http_class, req, **http_conn_args) 1317
h.request(req.get_method(), req.selector, req.data, headers,
-> 1318 encode_chunked=req.has_header('Transfer-encoding')) 1319
except OSError as err: # timeout error
/opt/conda/lib/python3.6/http/client.py in request(self, method, url,
body, headers, encode_chunked) 1238 """Send a complete
request to the server."""
-> 1239 self._send_request(method, url, body, headers, encode_chunked) 1240
/opt/conda/lib/python3.6/http/client.py in _send_request(self, method,
url, body, headers, encode_chunked) 1284 body =
_encode(body, 'body')
-> 1285 self.endheaders(body, encode_chunked=encode_chunked) 1286
/opt/conda/lib/python3.6/http/client.py in endheaders(self,
message_body, encode_chunked) 1233 raise
CannotSendHeader()
-> 1234 self._send_output(message_body, encode_chunked=encode_chunked) 1235
/opt/conda/lib/python3.6/http/client.py in _send_output(self,
message_body, encode_chunked) 1025 del self._buffer[:]
-> 1026 self.send(msg) 1027
/opt/conda/lib/python3.6/http/client.py in send(self, data)
963 if self.auto_open:
--> 964 self.connect()
965 else:
/opt/conda/lib/python3.6/http/client.py in connect(self) 1391
-> 1392 super().connect() 1393
/opt/conda/lib/python3.6/http/client.py in connect(self)
935 self.sock = self._create_connection(
--> 936 (self.host,self.port), self.timeout, self.source_address)
937 self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
/opt/conda/lib/python3.6/socket.py in create_connection(address,
timeout, source_address)
703 err = None
--> 704 for res in getaddrinfo(host, port, 0, SOCK_STREAM):
705 af, socktype, proto, canonname, sa = res
/opt/conda/lib/python3.6/socket.py in getaddrinfo(host, port, family,
type, proto, flags)
744 addrlist = []
--> 745 for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
746 af, socktype, proto, canonname, sa = res
gaierror: [Errno -3] Temporary failure in name resolution
During handling of the above exception, another exception occurred:
URLError Traceback (most recent call
last) /opt/conda/lib/python3.6/site-packages/keras/utils/data_utils.py
in get_file(fname, origin, untar, md5_hash, file_hash, cache_subdir,
hash_algorithm, extract, archive_format, cache_dir)
221 try:
--> 222 urlretrieve(origin, fpath, dl_progress)
223 except HTTPError as e:
/opt/conda/lib/python3.6/urllib/request.py in urlretrieve(url,
filename, reporthook, data)
247
--> 248 with contextlib.closing(urlopen(url, data)) as fp:
249 headers = fp.info()
/opt/conda/lib/python3.6/urllib/request.py in urlopen(url, data,
timeout, cafile, capath, cadefault, context)
222 opener = _opener
--> 223 return opener.open(url, data, timeout)
224
/opt/conda/lib/python3.6/urllib/request.py in open(self, fullurl,
data, timeout)
525
--> 526 response = self._open(req, data)
527
/opt/conda/lib/python3.6/urllib/request.py in _open(self, req, data)
543 result = self._call_chain(self.handle_open, protocol, protocol +
--> 544 '_open', req)
545 if result:
/opt/conda/lib/python3.6/urllib/request.py in _call_chain(self, chain,
kind, meth_name, *args)
503 func = getattr(handler, meth_name)
--> 504 result = func(*args)
505 if result is not None:
/opt/conda/lib/python3.6/urllib/request.py in https_open(self, req)
1360 return self.do_open(http.client.HTTPSConnection, req,
-> 1361 context=self._context, check_hostname=self._check_hostname) 1362
/opt/conda/lib/python3.6/urllib/request.py in do_open(self,
http_class, req, **http_conn_args) 1319 except OSError
as err: # timeout error
-> 1320 raise URLError(err) 1321 r = h.getresponse()
URLError:
During handling of the above exception, another exception occurred:
Exception Traceback (most recent call
last) in ()
----> 1 initial_model = VGG19(include_top=False, input_shape=(128,128,3), weights='imagenet')
/opt/conda/lib/python3.6/site-packages/keras/applications/init.py
in wrapper(*args, **kwargs)
26 kwargs['models'] = models
27 kwargs['utils'] = utils
---> 28 return base_fun(*args, **kwargs)
29
30 return wrapper
/opt/conda/lib/python3.6/site-packages/keras/applications/vgg19.py in
VGG19(*args, **kwargs)
9 #keras_modules_injection
10 def VGG19(*args, **kwargs):
---> 11 return vgg19.VGG19(*args, **kwargs)
12
13
/opt/conda/lib/python3.6/site-packages/keras_applications/vgg19.py in
VGG19(include_top, weights, input_tensor, input_shape, pooling,
classes, **kwargs)
219 WEIGHTS_PATH_NO_TOP,
220 cache_subdir='models',
--> 221 file_hash='253f8cb515780f3b799900260a226db6')
222 model.load_weights(weights_path)
223 if backend.backend() == 'theano':
/opt/conda/lib/python3.6/site-packages/keras/utils/data_utils.py in
get_file(fname, origin, untar, md5_hash, file_hash, cache_subdir,
hash_algorithm, extract, archive_format, cache_dir)
224 raise Exception(error_msg.format(origin, e.code, e.msg))
225 except URLError as e:
--> 226 raise Exception(error_msg.format(origin, e.errno, e.reason))
227 except (Exception, KeyboardInterrupt):
228 if os.path.exists(fpath):
Exception: URL fetch failure on
https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg19_weights_tf_dim_ordering_tf_kernels_notop.h5:
None -- [Errno -3] Temporary failure in name resolution

It looks like you might not have enabled internet access in your kernel. You can do that in the panel on the right hand side. Once you add an internet connection you'll be able to download the files.
We also actually already have the VGG-19 weights uploaded to Kaggle. If you like, you can add this existing dataset to your kernel rather than downloading it, which will probably be a little bit faster for you.
Hope that helps! :)

First, we need to verify the phone number, to enable the internet option. Then just enable it and re-run the notebook. Hopefully, it will work.

On the right hand side you will have option called "Internet", Check if it is set to 'On". If not, enable it and then try. It should work

Related

jupyter notebook error when fetching olivetti_faces

I wanted to use olivetti_faces dataset at jupyter notebook. When I ran the following code, dataset was not downloaded with the following error:
from sklearn.datasets import fetch_olivetti_faces
faces = fetch_olivetti_faces()
error:
TimeoutError Traceback (most recent call
last) File C:\ProgramData\Anaconda3\lib\urllib\request.py:1354, in
AbstractHTTPHandler.do_open(self, http_class, req, **http_conn_args)
1353 try:
-> 1354 h.request(req.get_method(), req.selector, req.data, headers, 1355
encode_chunked=req.has_header('Transfer-encoding')) 1356 except
OSError as err: # timeout error
File C:\ProgramData\Anaconda3\lib\http\client.py:1255, in
HTTPConnection.request(self, method, url, body, headers,
encode_chunked) 1254 """Send a complete request to the server."""
-> 1255 self._send_request(method, url, body, headers, encode_chunked)
File C:\ProgramData\Anaconda3\lib\http\client.py:1301, in
HTTPConnection._send_request(self, method, url, body, headers,
encode_chunked) 1300 body = _encode(body, 'body')
-> 1301 self.endheaders(body, encode_chunked=encode_chunked)
File C:\ProgramData\Anaconda3\lib\http\client.py:1250, in
HTTPConnection.endheaders(self, message_body, encode_chunked) 1249
raise CannotSendHeader()
-> 1250 self._send_output(message_body, encode_chunked=encode_chunked)
File C:\ProgramData\Anaconda3\lib\http\client.py:1010, in
HTTPConnection._send_output(self, message_body, encode_chunked)
1009 del self._buffer[:]
-> 1010 self.send(msg) 1012 if message_body is not None: 1013 1014 # create a consistent interface to message_body
File C:\ProgramData\Anaconda3\lib\http\client.py:950, in
HTTPConnection.send(self, data)
949 if self.auto_open:
--> 950 self.connect()
951 else:
File C:\ProgramData\Anaconda3\lib\http\client.py:1424, in
HTTPSConnection.connect(self) 1422 server_hostname = self.host
-> 1424 self.sock = self._context.wrap_socket(self.sock, 1425 server_hostname=server_hostname)
File C:\ProgramData\Anaconda3\lib\ssl.py:500, in
SSLContext.wrap_socket(self, sock, server_side,
do_handshake_on_connect, suppress_ragged_eofs, server_hostname,
session)
494 def wrap_socket(self, sock, server_side=False,
495 do_handshake_on_connect=True,
496 suppress_ragged_eofs=True,
497 server_hostname=None, session=None):
498 # SSLSocket class handles server_hostname encoding before it calls
499 # ctx._wrap_socket()
--> 500 return self.sslsocket_class._create(
501 sock=sock,
502 server_side=server_side,
503 do_handshake_on_connect=do_handshake_on_connect,
504 suppress_ragged_eofs=suppress_ragged_eofs,
505 server_hostname=server_hostname,
506 context=self,
507 session=session
508 )
File C:\ProgramData\Anaconda3\lib\ssl.py:1040, in
SSLSocket._create(cls, sock, server_side, do_handshake_on_connect,
suppress_ragged_eofs, server_hostname, context, session) 1039
raise ValueError("do_handshake_on_connect should not be specified for
non-blocking sockets")
-> 1040 self.do_handshake() 1041 except (OSError, ValueError):
File C:\ProgramData\Anaconda3\lib\ssl.py:1309, in
SSLSocket.do_handshake(self, block) 1308
self.settimeout(None)
-> 1309 self._sslobj.do_handshake() 1310 finally:
TimeoutError: [WinError 10060] A connection attempt failed because the
connected party did not properly respond after a period of time, or
established connection failed because connected host has failed to
respond
During handling of the above exception, another exception occurred:
URLError Traceback (most recent call
last) Input In [5], in <cell line: 2>()
1 # %load solutions/03A_faces_plot.py
----> 2 faces = fetch_olivetti_faces()
File
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\datasets_olivetti_faces.py:115,
in fetch_olivetti_faces(data_home, shuffle, random_state,
download_if_missing, return_X_y)
112 raise IOError("Data not found and download_if_missing is False")
114 print("downloading Olivetti faces from %s to %s" % (FACES.url, data_home))
--> 115 mat_path = _fetch_remote(FACES, dirname=data_home)
116 mfile = loadmat(file_name=mat_path)
117 # delete raw .mat data
File
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\datasets_base.py:1454,
in _fetch_remote(remote, dirname) 1432 """Helper function to
download a remote dataset into path 1433 1434 Fetch a dataset
pointed by remote's url, save into path using remote's (...)
1450 Full path of the created file. 1451 """ 1453 file_path
= remote.filename if dirname is None else join(dirname, remote.filename)
-> 1454 urlretrieve(remote.url, file_path) 1455 checksum = _sha256(file_path) 1456 if remote.checksum != checksum:
File C:\ProgramData\Anaconda3\lib\urllib\request.py:247, in
urlretrieve(url, filename, reporthook, data)
230 """
231 Retrieve a URL into a temporary location on disk.
232 (...)
243 data file as well as the resulting HTTPMessage object.
244 """
245 url_type, path = _splittype(url)
--> 247 with contextlib.closing(urlopen(url, data)) as fp:
248 headers = fp.info()
250 # Just return the local path and the "headers" for file://
251 # URLs. No sense in performing a copy unless requested.
File C:\ProgramData\Anaconda3\lib\urllib\request.py:222, in
urlopen(url, data, timeout, cafile, capath, cadefault, context)
220 else:
221 opener = _opener
--> 222 return opener.open(url, data, timeout)
File C:\ProgramData\Anaconda3\lib\urllib\request.py:525, in
OpenerDirector.open(self, fullurl, data, timeout)
522 req = meth(req)
524 sys.audit('urllib.Request', req.full_url, req.data, req.headers, req.get_method())
--> 525 response = self._open(req, data)
527 # post-process response
528 meth_name = protocol+"_response"
File C:\ProgramData\Anaconda3\lib\urllib\request.py:542, in
OpenerDirector._open(self, req, data)
539 return result
541 protocol = req.type
--> 542 result = self._call_chain(self.handle_open, protocol, protocol +
543 '_open', req)
544 if result:
545 return result
File C:\ProgramData\Anaconda3\lib\urllib\request.py:502, in
OpenerDirector._call_chain(self, chain, kind, meth_name, *args)
500 for handler in handlers:
501 func = getattr(handler, meth_name)
--> 502 result = func(*args)
503 if result is not None:
504 return result
File C:\ProgramData\Anaconda3\lib\urllib\request.py:1397, in
HTTPSHandler.https_open(self, req) 1396 def https_open(self, req):
-> 1397 return self.do_open(http.client.HTTPSConnection, req, 1398 context=self._context,
check_hostname=self._check_hostname)
File C:\ProgramData\Anaconda3\lib\urllib\request.py:1357, in
AbstractHTTPHandler.do_open(self, http_class, req, **http_conn_args)
1354 h.request(req.get_method(), req.selector, req.data,
headers, 1355
encode_chunked=req.has_header('Transfer-encoding')) 1356 except
OSError as err: # timeout error
-> 1357 raise URLError(err) 1358 r = h.getresponse()
135
9 except:
URLError: <urlopen error [WinError 10060] A connection attempt failed
because the connected party did not properly respond after a period of
time, or established connection failed because connected host has
failed to respond>
But when I ran that code in PyCharm, olivetti_py3.pkz was downloaded and placed in scikit_learn_data folder.
I ran the code again at the jupyter notebook, but this time I received the following error:
KeyError Traceback (most recent call
last) Input In [6], in <cell line: 2>()
1 # %load solutions/03A_faces_plot.py
----> 2 faces = fetch_olivetti_faces()
File
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\datasets_olivetti_faces.py:124,
in fetch_olivetti_faces(data_home, shuffle, random_state,
download_if_missing, return_X_y)
122 del mfile
123 else:
--> 124 faces = joblib.load(filepath)
126 # We want floating point data, but float32 is enough (there is only
127 # one byte of precision in the original uint8s anyway)
128 faces = np.float32(faces)
File
C:\ProgramData\Anaconda3\lib\site-packages\joblib\numpy_pickle.py:587,
in load(filename, mmap_mode)
581 if isinstance(fobj, str):
582 # if the returned file object is a string, this means we
583 # try to load a pickle file generated with an version of
584 # Joblib so we load it with joblib compatibility function.
585 return load_compatibility(fobj)
--> 587 obj = _unpickle(fobj, filename, mmap_mode)
588 return obj
File
C:\ProgramData\Anaconda3\lib\site-packages\joblib\numpy_pickle.py:506,
in _unpickle(fobj, filename, mmap_mode)
504 obj = None
505 try:
--> 506 obj = unpickler.load()
507 if unpickler.compat_mode:
508 warnings.warn("The file '%s' has been generated with a "
509 "joblib version less than 0.10. "
510 "Please regenerate this pickle file."
511 % filename,
512 DeprecationWarning, stacklevel=3)
File C:\ProgramData\Anaconda3\lib\pickle.py:1212, in
_Unpickler.load(self) 1210 raise EOFError 1211 assert isinstance(key, bytes_types)
-> 1212 dispatchkey[0] 1213 except _Stop as stopinst: 1214 return stopinst.value
KeyError: 91
then I deleted scikit-learn from environment and reinstalled and updated it, but the problem was not resolved and I get the same messages at jupyter notebook.
I think there is an effective soloution in these cases, and it is reinstalling. I had to do this with Anacanda.

SSLCertVerificationError when downloading pytorch datasets via torchvision

I am having trouble downloading the CIFAR-10 dataset from pytorch. Mostly it seems like some SSL error which I don't really know how to interpret. I have also tried changing the root to various other folders but none of them works. I was wondering whether it is a permission type setting on my end but I am inexperienced. Would appreciate some help to fix this!
The code executed is here:
trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, num_workers=1)
The error is reproduced here:
---------------------------------------------------------------------------
SSLCertVerificationError Traceback (most recent call last)
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:1354, in AbstractHTTPHandler.do_open(self, http_class, req, **http_conn_args)
1353 try:
-> 1354 h.request(req.get_method(), req.selector, req.data, headers,
1355 encode_chunked=req.has_header('Transfer-encoding'))
1356 except OSError as err: # timeout error
File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1256, in HTTPConnection.request(self, method, url, body, headers, encode_chunked)
1255 """Send a complete request to the server."""
-> 1256 self._send_request(method, url, body, headers, encode_chunked)
File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1302, in HTTPConnection._send_request(self, method, url, body, headers, encode_chunked)
1301 body = _encode(body, 'body')
-> 1302 self.endheaders(body, encode_chunked=encode_chunked)
File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1251, in HTTPConnection.endheaders(self, message_body, encode_chunked)
1250 raise CannotSendHeader()
-> 1251 self._send_output(message_body, encode_chunked=encode_chunked)
File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1011, in HTTPConnection._send_output(self, message_body, encode_chunked)
1010 del self._buffer[:]
-> 1011 self.send(msg)
1013 if message_body is not None:
1014
1015 # create a consistent interface to message_body
File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:951, in HTTPConnection.send(self, data)
950 if self.auto_open:
--> 951 self.connect()
952 else:
File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1425, in HTTPSConnection.connect(self)
1423 server_hostname = self.host
-> 1425 self.sock = self._context.wrap_socket(self.sock,
1426 server_hostname=server_hostname)
File C:\ProgramData\Miniconda3\envs\pDL\lib\ssl.py:500, in SSLContext.wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, session)
494 def wrap_socket(self, sock, server_side=False,
495 do_handshake_on_connect=True,
496 suppress_ragged_eofs=True,
497 server_hostname=None, session=None):
498 # SSLSocket class handles server_hostname encoding before it calls
499 # ctx._wrap_socket()
--> 500 return self.sslsocket_class._create(
501 sock=sock,
502 server_side=server_side,
503 do_handshake_on_connect=do_handshake_on_connect,
504 suppress_ragged_eofs=suppress_ragged_eofs,
505 server_hostname=server_hostname,
506 context=self,
507 session=session
508 )
File C:\ProgramData\Miniconda3\envs\pDL\lib\ssl.py:1040, in SSLSocket._create(cls, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, context, session)
1039 raise ValueError("do_handshake_on_connect should not be specified for non-blocking sockets")
-> 1040 self.do_handshake()
1041 except (OSError, ValueError):
File C:\ProgramData\Miniconda3\envs\pDL\lib\ssl.py:1309, in SSLSocket.do_handshake(self, block)
1308 self.settimeout(None)
-> 1309 self._sslobj.do_handshake()
1310 finally:
SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1131)
During handling of the above exception, another exception occurred:
URLError Traceback (most recent call last)
Input In [8], in <module>
----> 1 trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
2 trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, num_workers=1)
File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\cifar.py:66, in CIFAR10.__init__(self, root, train, transform, target_transform, download)
63 self.train = train # training set or test set
65 if download:
---> 66 self.download()
68 if not self._check_integrity():
69 raise RuntimeError('Dataset not found or corrupted.' +
70 ' You can use download=True to download it')
File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\cifar.py:144, in CIFAR10.download(self)
142 print('Files already downloaded and verified')
143 return
--> 144 download_and_extract_archive(self.url, self.root, filename=self.filename, md5=self.tgz_md5)
File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\utils.py:427, in download_and_extract_archive(url, download_root, extract_root, filename, md5, remove_finished)
424 if not filename:
425 filename = os.path.basename(url)
--> 427 download_url(url, download_root, filename, md5)
429 archive = os.path.join(download_root, filename)
430 print("Extracting {} to {}".format(archive, extract_root))
File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\utils.py:130, in download_url(url, root, filename, md5, max_redirect_hops)
127 _download_file_from_remote_location(fpath, url)
128 else:
129 # expand redirect chain if needed
--> 130 url = _get_redirect_url(url, max_hops=max_redirect_hops)
132 # check if file is located on Google Drive
133 file_id = _get_google_drive_file_id(url)
File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\utils.py:78, in _get_redirect_url(url, max_hops)
75 headers = {"Method": "HEAD", "User-Agent": USER_AGENT}
77 for _ in range(max_hops + 1):
---> 78 with urllib.request.urlopen(urllib.request.Request(url, headers=headers)) as response:
79 if response.url == url or response.url is None:
80 return url
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:222, in urlopen(url, data, timeout, cafile, capath, cadefault, context)
220 else:
221 opener = _opener
--> 222 return opener.open(url, data, timeout)
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:525, in OpenerDirector.open(self, fullurl, data, timeout)
522 req = meth(req)
524 sys.audit('urllib.Request', req.full_url, req.data, req.headers, req.get_method())
--> 525 response = self._open(req, data)
527 # post-process response
528 meth_name = protocol+"_response"
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:542, in OpenerDirector._open(self, req, data)
539 return result
541 protocol = req.type
--> 542 result = self._call_chain(self.handle_open, protocol, protocol +
543 '_open', req)
544 if result:
545 return result
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:502, in OpenerDirector._call_chain(self, chain, kind, meth_name, *args)
500 for handler in handlers:
501 func = getattr(handler, meth_name)
--> 502 result = func(*args)
503 if result is not None:
504 return result
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:1397, in HTTPSHandler.https_open(self, req)
1396 def https_open(self, req):
-> 1397 return self.do_open(http.client.HTTPSConnection, req,
1398 context=self._context, check_hostname=self._check_hostname)
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:1357, in AbstractHTTPHandler.do_open(self, http_class, req, **http_conn_args)
1354 h.request(req.get_method(), req.selector, req.data, headers,
1355 encode_chunked=req.has_header('Transfer-encoding'))
1356 except OSError as err: # timeout error
-> 1357 raise URLError(err)
1358 r = h.getresponse()
1359 except:
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1131)>
Turn off the ssl verification.
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

Suddenly can't connect to twitter api using twitter python package

Yesterday everything was running smoothly. But all of a sudden today I am getting a long error message. My code:
from twitter import *
token = "..."
token_secret = "..."
consumer_key = "..."
consumer_secret = "..."
t = Twitter(auth=OAuth(token, token_secret, consumer_key, consumer_secret), retry=True)
t.statuses.home_timeline()
This gives me a long error message, with the final line being
URLError: <urlopen error [Errno -2] Name or service not known>
Edit: Here's the full error mesage:
gaierror Traceback (most recent call last)
/usr/lib64/python3.6/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
1317 h.request(req.get_method(), req.selector, req.data, headers,
-> 1318 encode_chunked=req.has_header('Transfer-encoding'))
1319 except OSError as err: # timeout error
/usr/lib64/python3.6/http/client.py in request(self, method, url, body, headers, encode_chunked)
1238 """Send a complete request to the server."""
-> 1239 self._send_request(method, url, body, headers, encode_chunked)
1240
/usr/lib64/python3.6/http/client.py in _send_request(self, method, url, body, headers, encode_chunked)
1284 body = _encode(body, 'body')
-> 1285 self.endheaders(body, encode_chunked=encode_chunked)
1286
/usr/lib64/python3.6/http/client.py in endheaders(self, message_body, encode_chunked)
1233 raise CannotSendHeader()
-> 1234 self._send_output(message_body, encode_chunked=encode_chunked)
1235
/usr/lib64/python3.6/http/client.py in _send_output(self, message_body, encode_chunked)
1025 del self._buffer[:]
-> 1026 self.send(msg)
1027
/usr/lib64/python3.6/http/client.py in send(self, data)
963 if self.auto_open:
--> 964 self.connect()
965 else:
/usr/lib64/python3.6/http/client.py in connect(self)
1391
-> 1392 super().connect()
1393
/usr/lib64/python3.6/http/client.py in connect(self)
935 self.sock = self._create_connection(
--> 936 (self.host,self.port), self.timeout, self.source_address)
937 self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
/usr/lib64/python3.6/socket.py in create_connection(address, timeout, source_address)
703 err = None
--> 704 for res in getaddrinfo(host, port, 0, SOCK_STREAM):
705 af, socktype, proto, canonname, sa = res
/usr/lib64/python3.6/socket.py in getaddrinfo(host, port, family, type, proto, flags)
744 addrlist = []
--> 745 for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
746 af, socktype, proto, canonname, sa = res
gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
URLError Traceback (most recent call last)
<ipython-input-158-181b63fa633f> in <module>
12 #t.ratelimit.RateLimit()
13 # Get your "home" timeline
---> 14 t.statuses.home_timeline()
15
16 # Get a particular friend's timeline
~/Documents/DL/myenv/lib/python3.6/site-packages/twitter/api.py in __call__(self, **kwargs)
332 return self._handle_response_with_retry(req, uri, arg_data, _timeout)
333 else:
--> 334 return self._handle_response(req, uri, arg_data, _timeout)
335
336 def _handle_response(self, req, uri, arg_data, _timeout=None):
~/Documents/DL/myenv/lib/python3.6/site-packages/twitter/api.py in _handle_response(self, req, uri, arg_data, _timeout)
339 kwargs['timeout'] = _timeout
340 try:
--> 341 handle = urllib_request.urlopen(req, **kwargs)
342 if handle.headers['Content-Type'] in ['image/jpeg', 'image/png']:
343 return handle
/usr/lib64/python3.6/urllib/request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
221 else:
222 opener = _opener
--> 223 return opener.open(url, data, timeout)
224
225 def install_opener(opener):
/usr/lib64/python3.6/urllib/request.py in open(self, fullurl, data, timeout)
524 req = meth(req)
525
--> 526 response = self._open(req, data)
527
528 # post-process response
/usr/lib64/python3.6/urllib/request.py in _open(self, req, data)
542 protocol = req.type
543 result = self._call_chain(self.handle_open, protocol, protocol +
--> 544 '_open', req)
545 if result:
546 return result
/usr/lib64/python3.6/urllib/request.py in _call_chain(self, chain, kind, meth_name, *args)
502 for handler in handlers:
503 func = getattr(handler, meth_name)
--> 504 result = func(*args)
505 if result is not None:
506 return result
/usr/lib64/python3.6/urllib/request.py in https_open(self, req)
1359 def https_open(self, req):
1360 return self.do_open(http.client.HTTPSConnection, req,
-> 1361 context=self._context, check_hostname=self._check_hostname)
1362
1363 https_request = AbstractHTTPHandler.do_request_
/usr/lib64/python3.6/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
1318 encode_chunked=req.has_header('Transfer-encoding'))
1319 except OSError as err: # timeout error
-> 1320 raise URLError(err)
1321 r = h.getresponse()
1322 except:
URLError: <urlopen error [Errno -2] Name or service not known>

MacOS High OSierra 10.13.6, Python3.7, GeocoderServiceError: [SSL: CERTIFICATE_VERIFY_FAILED]

I recently installed python 3.7 on macOS High OSierra and spent ages trying to get it working. That question is here. Currently I am having problems with the below code and wondered if anyone can help.
import geopy
geocoder = geopy.geocoders.GoogleV3(domain = "maps.google.co.uk")
geocoder.geocode("Cambridge", exactly_one = False)
Results in the following error:
SSLCertVerificationError Traceback (most recent call last)
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py
in do_open(self, http_class, req, **http_conn_args) 1316
h.request(req.get_method(), req.selector, req.data, headers,
-> 1317 encode_chunked=req.has_header('Transfer-encoding')) 1318
except OSError as err: # timeout error
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py
in request(self, method, url, body, headers, encode_chunked) 1228
"""Send a complete request to the server."""
-> 1229 self._send_request(method, url, body, headers, encode_chunked) 1230
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py
in _send_request(self, method, url, body, headers, encode_chunked)
1274 body = _encode(body, 'body')
-> 1275 self.endheaders(body, encode_chunked=encode_chunked) 1276
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py
in endheaders(self, message_body, encode_chunked) 1223
raise CannotSendHeader()
-> 1224 self._send_output(message_body, encode_chunked=encode_chunked) 1225
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py
in _send_output(self, message_body, encode_chunked) 1015
del self._buffer[:]
-> 1016 self.send(msg) 1017
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py
in send(self, data)
955 if self.auto_open:
--> 956 self.connect()
957 else:
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py
in connect(self) 1391 self.sock =
self._context.wrap_socket(self.sock,
-> 1392 server_hostname=server_hostname) 1393
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py
in wrap_socket(self, sock, server_side, do_handshake_on_connect,
suppress_ragged_eofs, server_hostname, session)
411 context=self,
--> 412 session=session
413 )
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py
in _create(cls, sock, server_side, do_handshake_on_connect,
suppress_ragged_eofs, server_hostname, context, session)
849 raise ValueError("do_handshake_on_connect should not be specified for
non-blocking sockets")
--> 850 self.do_handshake()
851 except (OSError, ValueError):
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py
in do_handshake(self, block) 1107
self.settimeout(None)
-> 1108 self._sslobj.do_handshake() 1109 finally:
SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate
chain (_ssl.c:1045)
During handling of the above exception, another exception occurred:
URLError Traceback (most recent call last)
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/geopy/geocoders/base.py
in _call_geocoder(self, url, timeout, raw, requester, deserializer,
**kwargs)
314 try:
--> 315 page = requester(req, timeout=timeout, **kwargs)
316 except Exception as error:
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py
in open(self, fullurl, data, timeout)
524
--> 525 response = self._open(req, data)
526
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py
in _open(self, req, data)
542 result = self._call_chain(self.handle_open, protocol, protocol +
--> 543 '_open', req)
544 if result:
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py
in _call_chain(self, chain, kind, meth_name, *args)
502 func = getattr(handler, meth_name)
--> 503 result = func(*args)
504 if result is not None:
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py
in https_open(self, req) 1359 return
self.do_open(http.client.HTTPSConnection, req,
-> 1360 context=self._context, check_hostname=self._check_hostname) 1361
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py
in do_open(self, http_class, req, **http_conn_args) 1318
except OSError as err: # timeout error
-> 1319 raise URLError(err) 1320 r = h.getresponse()
URLError:
During handling of the above exception, another exception occurred:
GeocoderServiceError Traceback (most recent call last)
in ()
----> 1 geocoder.geocode("Cambridge", exactly_one = False)
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/geopy/geocoders/googlev3.py
in geocode(self, query, exactly_one, timeout, bounds, region,
components, language, sensor)
240 logger.debug("%s.geocode: %s", self.class.name, url)
241 return self._parse_json(
--> 242 self._call_geocoder(url, timeout=timeout), exactly_one
243 )
244
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/geopy/geocoders/base.py
in _call_geocoder(self, url, timeout, raw, requester, deserializer,
**kwargs)
340 if "timed out" in message:
341 raise GeocoderTimedOut('Service timed out')
--> 342 raise GeocoderServiceError(message)
343
344 if hasattr(page, 'getcode'):
GeocoderServiceError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain
(_ssl.c:1045)
Take a look at the following link: here
I was able to get it working by running the second command on that page:
open /Applications/Python\ 3.7/Install\ Certificates.command

Python JavaScript Scraping: ConnectionRefusedError: [Errno 61] Connection refused

I am trying to scrape some info off of Yahoo Finance. Below is my simple code:
url = "https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL"
from selenium import webdriver
webdriver.PhantomJS(executable_path="/anaconda/bin/phantomjs")
browser.get(url)
browser.quit
But I get the following error:
ConnectionRefusedError Traceback (most recent call last)
<ipython-input-12-f4d26b367ef7> in <module>()
8 webdriver.PhantomJS(executable_path="/anaconda/bin/phantomjs")
9
---> 10 browser.get(url)
> /anaconda/lib/python3.6/site-packages/selenium-3.4.3- py3.6.egg/selenium/webdriver/remote/webdriver.py in get(self, url)
266 Loads a web page in the current browser session.
267 """
--> 268 self.execute(Command.GET, {'url': url})
269
270 #property
/anaconda/lib/python3.6/site-packages/selenium-3.4.3-py3.6.egg/selenium/webdriver/remote/webdriver.py in execute(self, driver_command, params)
252
253 params = self._wrap_value(params)
--> 254 response = self.command_executor.execute(driver_command, params)
255 if response:
256 self.error_handler.check_response(response)
/anaconda/lib/python3.6/site-packages/selenium-3.4.3-py3.6.egg/selenium/webdriver/remote/remote_connection.py in execute(self, command, params)
462 path = string.Template(command_info[1]).substitute(params)
463 url = '%s%s' % (self._url, path)
--> 464 return self._request(command_info[0], url, body=data)
465
466 def _request(self, method, url, body=None):
/anaconda/lib/python3.6/site-packages/selenium-3.4.3-py3.6.egg/selenium/webdriver/remote/remote_connection.py in _request(self, method, url, body)
485 body = None
486 try:
--> 487 self._conn.request(method, parsed_url.path, body, headers)
488 resp = self._conn.getresponse()
489 except (httplib.HTTPException, socket.error):
/anaconda/lib/python3.6/http/client.py in request(self, method, url, body, headers, encode_chunked)
1237 encode_chunked=False):
1238 """Send a complete request to the server."""
-> 1239 self._send_request(method, url, body, headers, encode_chunked)
1240
1241 def _send_request(self, method, url, body, headers, encode_chunked):
/anaconda/lib/python3.6/http/client.py in _send_request(self, method, url, body, headers, encode_chunked)
1283 # default charset of iso-8859-1.
1284 body = _encode(body, 'body')
-> 1285 self.endheaders(body, encode_chunked=encode_chunked)
1286
1287 def getresponse(self):
/anaconda/lib/python3.6/http/client.py in endheaders(self, message_body, encode_chunked)
1232 else:
1233 raise CannotSendHeader()
-> 1234 self._send_output(message_body, encode_chunked=encode_chunked)
1235
1236 def request(self, method, url, body=None, headers={}, *,
/anaconda/lib/python3.6/http/client.py in _send_output(self, message_body, encode_chunked)
1024 msg = b"\r\n".join(self._buffer)
1025 del self._buffer[:]
-> 1026 self.send(msg)
1027
1028 if message_body is not None:
/anaconda/lib/python3.6/http/client.py in send(self, data)
962 if self.sock is None:
963 if self.auto_open:
--> 964 self.connect()
965 else:
966 raise NotConnected()
/anaconda/lib/python3.6/http/client.py in connect(self)
934 """Connect to the host and port specified in __init__."""
935 self.sock = self._create_connection(
--> 936 (self.host,self.port), self.timeout, self.source_address)
937 self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
938
/anaconda/lib/python3.6/socket.py in create_connection(address, timeout, source_address)
720
721 if err is not None:
--> 722 raise err
723 else:
724 raise error("getaddrinfo returns an empty list")
/anaconda/lib/python3.6/socket.py in create_connection(address, timeout, source_address)
711 if source_address:
712 sock.bind(source_address)
713 sock.connect(sa)
714 return sock
715
ConnectionRefusedError: [Errno 61] Connection refused
I have checked other questions on this topic but couldn't find any relevant answers. How can I correct this error?
Here is the Answer to your Question:
The error stack trace gives us a hint that the actual issue may be in this line of the code:
webdriver.PhantomJS(executable_path="/anaconda/bin/phantomjs")
As you are trying to open the URL through the instance browser as in browser.get(url), the browser instance must be configured with the absolute path of the PhantomJS executable as follows (as on my Win8 machine through PyCharm IDE):
from selenium import webdriver
url = "https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL"
browser = webdriver.PhantomJS(executable_path="C:\\Utility\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe")
browser.get(url)
# your code block
print(browser.title)
# your code block
browser.quit
The output on my console is as follows:
AAPL Key Statistics | Apple Inc. Stock - Yahoo Finance
Let me know if this Answers your Question.

Categories