graphlab.get_dependencies() вызывает IOError
Это проблема, которую я получаю после использования graphlab.get_dependencies.
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
<ipython-input-17-9e64085fb919> in <module>()
----> 1 graphlab.get_dependencies()
D:\program\graphlab\Anaconda2\envs\gl-env\lib\site- packages\graphlab\dependencies.pyc in get_dependencies()
31
32 print('Downloading xz.')
---> 33 (xzarchive_file, xzheaders) = urllib.urlretrieve('http://tukaani.org/xz/xz-5.2.1-windows.zip')
34 xzarchive_dir = tempfile.mkdtemp()
35 print('Extracting xz.')
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in urlretrieve(url, filename, reporthook, data, context)
96 else:
97 opener = _urlopener
---> 98 return opener.retrieve(url, filename, reporthook, data)
99 def urlcleanup():
100 if _urlopener:
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in retrieve(self, url, filename, reporthook, data)
243 except IOError:
244 pass
--> 245 fp = self.open(url, data)
246 try:
247 headers = fp.info()
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in open(self, fullurl, data)
211 try:
212 if data is None:
--> 213 return getattr(self, name)(url)
214 else:
215 return getattr(self, name)(url, data)
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in open_http(self, url, data)
362 else:
363 if data is None:
--> 364 return self.http_error(url, fp, errcode, errmsg, headers)
365 else:
366 return self.http_error(url, fp, errcode, errmsg, headers, data)
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in http_error(self, url, fp, errcode, errmsg, headers, data)
375 method = getattr(self, name)
376 if data is None:
--> 377 result = method(url, fp, errcode, errmsg, headers)
378 else:
379 result = method(url, fp, errcode, errmsg, headers, data)
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in http_error_301(self, url, fp, errcode, errmsg, headers, data)
669 def http_error_301(self, url, fp, errcode, errmsg, headers, data=None):
670 """Error 301 -- also relocated (permanently)."""
--> 671 return self.http_error_302(url, fp, errcode, errmsg, headers, data)
672
673 def http_error_303(self, url, fp, errcode, errmsg, headers, data=None):
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in http_error_302(self, url, fp, errcode, errmsg, headers, data)
639 "Internal Server Error: Redirect Recursion", headers)
640 result = self.redirect_internal(url, fp, errcode, errmsg, headers,
--> 641 data)
642 self.tries = 0
643 return result
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in redirect_internal(self, url, fp, errcode, errmsg, headers, data)
665 headers)
666
--> 667 return self.open(newurl)
668
669 def http_error_301(self, url, fp, errcode, errmsg, headers, data=None):
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in open(self, fullurl, data)
211 try:
212 if data is None:
--> 213 return getattr(self, name)(url)
214 else:
215 return getattr(self, name)(url, data)
D:\program\graphlab\Anaconda2\envs\gl-env\lib\urllib.pyc in open_https(self, url, data)
441 if realhost: h.putheader('Host', realhost)
442 for args in self.addheaders: h.putheader(*args)
--> 443 h.endheaders(data)
444 errcode, errmsg, headers = h.getreply()
445 fp = h.getfile()
D:\program\graphlab\Anaconda2\envs\gl-env\lib\httplib.pyc in endheaders(self, message_body)
1051 else:
1052 raise CannotSendHeader()
-> 1053 self._send_output(message_body)
1054
1055 def request(self, method, url, body=None, headers={}):
D:\program\graphlab\Anaconda2\envs\gl-env\lib\httplib.pyc in _send_output(self, message_body)
895 msg += message_body
896 message_body = None
--> 897 self.send(msg)
898 if message_body is not None:
899 #message_body was not a string (i.e. it is a file) and
D:\program\graphlab\Anaconda2\envs\gl-env\lib\httplib.pyc in send(self, data)
857 if self.sock is None:
858 if self.auto_open:
--> 859 self.connect()
860 else:
861 raise NotConnected()
D:\program\graphlab\Anaconda2\envs\gl-env\lib\httplib.pyc in connect(self)
1276
1277 self.sock = self._context.wrap_socket(self.sock,
-> 1278 server_hostname=server_hostname)
1279
1280 __all__.append("HTTPSConnection")
D:\program\graphlab\Anaconda2\envs\gl-env\lib\ssl.pyc in wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname)
350 suppress_ragged_eofs=suppress_ragged_eofs,
351 server_hostname=server_hostname,
--> 352 _context=self)
353
354 def set_npn_protocols(self, npn_protocols):
D:\program\graphlab\Anaconda2\envs\gl-env\lib\ssl.pyc in __init__(self, sock, keyfile, certfile, server_side, cert_reqs, ssl_version, ca_certs, do_handshake_on_connect, family, type, proto, fileno, suppress_ragged_eofs, npn_protocols, ciphers, server_hostname, _context)
577 # non-blocking
578 raise ValueError("do_handshake_on_connect should not be specified for non-blocking sockets")
--> 579 self.do_handshake()
580
581 except (OSError, ValueError):
D:\program\graphlab\Anaconda2\envs\gl-env\lib\ssl.pyc in do_handshake(self, block)
806 if timeout == 0.0 and block:
807 self.settimeout(None)
--> 808 self._sslobj.do_handshake()
809 finally:
810 self.settimeout(timeout)
IOError: [Errno socket error] EOF occurred in violation of protocol (_ssl.c:590)
Я искал здесь прежде, но ни одна из проблем не была той же самой, или предложенные решения не работали.
С моей точки зрения, похоже, что ошибка вызвана ClassCastException; в строке 899 он имеет следующие предложения: message_body не было строкой (т.е. это файл)
но я не знаю, что не так и как это сделать。
Будем весьма благодарны за любые предложения по поводу причины / решения этой проблемы. Заранее спасибо за помощь.