Я использую книгу «Практическое машинное обучение с scikit-learn и tenorflow» от Aurelien Geron.
Я впервые использую Jupyter и Python.
I пытаюсь следовать следующему коду. 
Моя проблема в том, что я запускаю ячейку с этим кодом:
import os
import tarfile
import urllib
DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml2/master/"
HOUSING_PATH = os.path.join("datasets", "housing")
HOUSING_URL = DOWNLOAD_ROOT + "datasets/housing/housing.tgz"
def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH):
os.makedirs(housing_path, exist_ok=True)
tgz_path = os.path.join(housing_path, "housing.tgz")
urllib.request.urlretrieve(housing_url, tgz_path)
housing_tgz = tarfile.open(tgz_path)
housing_tgz.extractall(path=housing_path)
housing_tgz.close()
Оценка ячейки никогда не заканчивается, In[*]:
никогда не становится чем-то как In[1]:
.
Итак, я подумал, что это проблема с начальным URL, потому что он показывал ошибку, когда я посещал его через мой браузер inte rnet.
Следовательно, я изменил его на DOWNLOAD_ROOT = "https://github.com/ageron/handson-ml2/tree/master/"
.
Теперь я получаю In[1]:
. Однако, когда я запускаю fetch_housing_data()
, я получаю:
---------------------------------------------------------------------------
ReadError Traceback (most recent call last)
<ipython-input-6-bd66b1fe6daf> in <module>
----> 1 fetch_housing_data()
<ipython-input-5-ef3c39b342d8> in fetch_housing_data(housing_url, housing_path)
9 tgz_path = os.path.join(housing_path, "housing.tgz")
10 urllib.request.urlretrieve(housing_url, tgz_path)
---> 11 housing_tgz = tarfile.open(tgz_path)
12 housing_tgz.extractall(path=housing_path)
13 housing_tgz.close()
~\Anaconda3\lib\tarfile.py in open(cls, name, mode, fileobj, bufsize, **kwargs)
1576 fileobj.seek(saved_pos)
1577 continue
-> 1578 raise ReadError("file could not be opened successfully")
1579
1580 elif ":" in mode:
ReadError: file could not be opened successfully
Почему это происходит и как я могу это решить?