$ python3 --version
Python 3.6.1
$ python3 -m virtualenv venv
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in .../venv/bin/python3
Also creating executable in .../venv/bin/python
Installing setuptools, pip, wheel...done.
$ source venv/bin/activate
$ pip install tensorflow
Collecting tensorflow
Using cached tensorflow-1.2.0-cp36-cp36m-macosx_10_11_x86_64.whl
....
$ python
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from tensorflow.examples.tutorials.mnist import input_data
>>> mnist = input_data.read_data_sets("/tmp/data/")
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect
server_hostname=server_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 401, in wrap_socket
_context=self, _session=session)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 808, in __init__
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1061, in do_handshake
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 683, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File ".../venv/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py", line 235, in read_data_sets
SOURCE_URL + TRAIN_IMAGES)
File ".../venv/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py", line 208, in maybe_download
temp_file_name, _ = urlretrieve_with_retry(source_url)
File ".../venv/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py", line 165, in wrapped_fn
return fn(*args, **kwargs)
File ".../venv/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py", line 190, in urlretrieve_with_retry
return urllib.request.urlretrieve(url, filename)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 248, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>
Это не воспроизводится с TensorFlow 1.1.
Не могли бы вы попробовать с python2 (системная установка py по умолчанию)? Кроме того, как вы устанавливали с помощью brew или macports (мы используем brew для нашего тестирования, так что это с большей вероятностью сработает).
Я установил Python 3.6 с помощью установщика dmg с веб-сайта Python (не через brew или macports).
Кажется, работает с Python 2.7.10. Я думал, что в Python 2.x urlretrieve не проверяет сертификат сервера, но, по-видимому, это происходит с версии 2.7.9: https://docs.python.org/2/library/urllib.html
Он работает у меня на python 3.4 в Linux. Я бы попробовал установить python3.6 с помощью brew. Это может быть используемый вами дистрибутив python3, у которого отсутствуют сертификаты данных.
Это могло быть также связано с тем, что я недавно перешел на новую машину, а она все еще установлена частично :)
Для справки в будущем: если вы хотите использовать установщик Python dmg, вам также необходимо прочитать ReadMe Python 3 и запустить сценарий /Applications/Python 3.6/Install Certificates.command
bash для установки новых сертификатов.
Спасибо за быстрый ответ, @aselle!
Если вы хотите просто скопировать вставку в Терминал:
/Applications/Python\ 3.6/Install\ Certificates.command
У меня точно такая же проблема с MacOSX 10.11.6.
Сначала я в точности выполнил указанные здесь шаги для установки virtualenv
для Python 3.n: https://www.tensorflow.org/install/install_mac
Затем, выполнив первые 2 шага в этом руководстве https://www.tensorflow.org/get_started/mnist/beginners, я вижу следующее; любые предложения по обходу этого (например, могу ли я загрузить это откуда-нибудь еще?) были бы очень признательны.
(tensorflow) ~/tensorflow $ python
Python 3.6.2 (v3.6.2:5fd33b5926, Jul 16 2017, 20:11:06)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from tensorflow.examples.tutorials.mnist import input_data
>>> mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect
server_hostname=server_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 401, in wrap_socket
_context=self, _session=session)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 808, in __init__
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1061, in do_handshake
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 683, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/aaron/tensorflow/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py", line 235, in read_data_sets
SOURCE_URL + TRAIN_IMAGES)
File "/Users/aaron/tensorflow/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py", line 208, in maybe_download
temp_file_name, _ = urlretrieve_with_retry(source_url)
File "/Users/aaron/tensorflow/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py", line 165, in wrapped_fn
return fn(*args, **kwargs)
File "/Users/aaron/tensorflow/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py", line 190, in urlretrieve_with_retry
return urllib.request.urlretrieve(url, filename)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 248, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)>
@ brightbytes-dude Вы выполнили указанную здесь команду: https://github.com/tensorflow/tensorflow/issues/10779#issuecomment -309134512
/Applications/Python\ 3.6/Install\ Certificates.command
Это помогло, спасибо !! (Я тупо предположил, что это актуально только для установки dmg
.)
Не могли бы вы изменить URL-адрес загрузки MNIST в contrib / learn / python / learn / datasets / mnist.py, чтобы не использовать https? Это поможет людям, у которых есть эта проблема. Попробовал в браузере, и ссылка для скачивания http работает.
строка для изменения:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
новая линия:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
Привет,
Я новичок в питоне и тензорном потоке. Попробуйте использовать пример MNIST и получите примерно те же сообщения об ошибках, что и paulcwatts (см. Выше)
из tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets ("MNIST_data /", one_hot = True)
Отслеживание (последний вызов последний):
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 1318, в do_open
encode_chunked = req.has_header ('Кодировка передачи'))
Файл "C: UsersAndreasDocumentsPythonlibhttpclient.py", строка 1239, в запросе
self._send_request (метод, URL, тело, заголовки, encode_chunked)
Файл "C: UsersAndreasDocumentsPythonlibhttpclient.py", строка 1285, в _send_request
self.endheaders (тело, encode_chunked = encode_chunked)
Файл «C: UsersAndreasDocumentsPythonlibhttpclient.py», строка 1234, в конечных заголовках.
self._send_output (message_body, encode_chunked = encode_chunked)
Файл "C: UsersAndreasDocumentsPythonlibhttpclient.py", строка 1026, в _send_output
self.send (сообщение)
Файл "C: UsersAndreasDocumentsPythonlibhttpclient.py", строка 964, в отправке
self.connect ()
Файл "C: UsersAndreasDocumentsPythonlibhttpclient.py", строка 1400, в соединении
server_hostname = server_hostname)
Файл "C: UsersAndreasDocumentsPythonlibssl.py", строка 401, в wrap_socket
_context = self, _session = session)
Файл «C: UsersAndreasDocumentsPythonlibssl.py», строка 808, в __init__
self.do_handshake ()
Файл "C: UsersAndreasDocumentsPythonlibssl.py", строка 1061, в do_handshake
self._sslobj.do_handshake ()
Файл "C: UsersAndreasDocumentsPythonlibssl.py", строка 683, в do_handshake
self._sslobj.do_handshake ()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] не удалось проверить сертификат (_ssl.c: 748)
Во время обработки вышеуказанного исключения произошло другое исключение:
Отслеживание (последний вызов последний): Основное отличие состоит в том, что я использую WINDOWS 10 и не могу найти команду сертификатов.
Файл "
mnist = input_data.read_data_sets ("MNIST_data /", one_hot = True)
Файл "C: UsersAndreasDocumentsPythonlibsite-packagestensorflowcontriblearnpythonlearndatasetsmnist.py", строка 240, в read_data_sets
source_url + TRAIN_IMAGES)
Файл "C: UsersAndreasDocumentsPythonlibsite-packagestensorflowcontriblearnpythonlearndatasetsbase.py", строка 208, в файле Maybe_download
temp_file_name, _ = urlretrieve_with_retry (source_url)
Файл "C: UsersAndreasDocumentsPythonlibsite-packagestensorflowcontriblearnpythonlearndatasetsbase.py", строка 165, в wrapped_fn
вернуть fn ( args, * kwargs)
Файл "C: UsersAndreasDocumentsPythonlibsite-packagestensorflowcontriblearnpythonlearndatasetsbase.py", строка 190, в urlretrieve_with_retry
вернуть urllib.request.urlretrieve (URL, имя файла)
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 248, в urlretrieve
с contextlib.closing (urlopen (url, data)) как fp:
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 223, в urlopen.
вернуть opener.open (url, data, timeout)
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 526, открыт.
response = self._open (req, данные)
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 544, в _open
'_open', обязательно)
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 504, в _call_chain
результат = функция (* аргументы)
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 1361, в https_open
context = self._context, check_hostname = self._check_hostname)
Файл "C: UsersAndreasDocumentsPythonliburllibrequest.py", строка 1320, в do_open
поднять URLError (err)
urllib.error.URLError:
Извините, что задаю "глупые вопросы", но эти ошибки никуда не делись.
У меня такая же проблема с ssl, и эта строка исправляет ее,
/ Applications / Python 3.6 / Установить Certificates.command
спасибо @EthanAI @aselle @paulcwatts
Если кто-то наткнулся на эту страницу, но ищет ответ, чтобы разрешить Tensorflow Hub в Ubuntu, я заставил его работать следующим образом:
# Directory where user certs can be stored
cd /usr/local/share/ca-certificates
# Below may require elevated permissions, such as sudo su
pip3 install --upgrade certifi # Installs a certificate file
# Move the installed cert to the place Ubuntu expects it
cp /home/ubuntu/.local/lib/python3.5/site-packages/certifi/cacert.pem .
# Convert it into the format Ubuntu expects
openssl x509 -in cacert.pem -inform pem -outform der -out cacert.crt
# Actually load the new cert into the OS
update-ca-certificates
Вдобавок ко всему, некоторая волшебная комбинация конфигурации моего корпоративного прокси, перезапуска ядра ноутбука Jupyter и запуска TF Hub из сценария на терминале, а не с ноутбука, в конечном итоге заставила TF Hub работать как на терминале, так и в ноутбуке. .
выполнение этой команды также не удалось.
./Установить Certificates.command
- pip install --upgrade certifi
Получение сертификатов
Ошибка десериализации записи кэша, запись проигнорирована
Не удалось получить URL-адрес https://pypi.python.org/simple/certifi/ : возникла проблема с подтверждением сертификата ssl: [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась (_ssl.c: 777) - пропуск
Не удалось найти версию, удовлетворяющую требованиям certifi (из версий:)
Не найдено подходящего распределения для certifi
Отслеживание (последний вызов последний):
Файл "
Файл "
Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", строка 291, в check_call
поднять CalledProcessError (retcode, cmd)
subprocess.CalledProcessError: Команда '[' /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 ',' -E ',' -s ',' -m ',' pip ',' install ' , '--upgrade', 'certifi'] 'вернул ненулевой статус выхода 1.
на MacOS у меня работает команда /Applications/Python\ 3.6/Install\ Certificates.command
/Applications/Python\ 3.6/Install\ Certificates.command
творит чудеса на MacOSX High Sierra. Спасибо
Какое решение для тех, кто использует виртуальную среду?
Обновление: похоже, что запуск той же системной команды, указанной выше 👆, также помогает при активном venv. Хорошо знать!
Если вы хотите просто скопировать вставку в Терминал:
/Applications/Python\ 3.6/Install\ Certificates.command
Спасибо!
Это могло быть также связано с тем, что я недавно перешел на новую машину, а она все еще установлена частично :)
Для справки в будущем: если вы хотите использовать установщик Python dmg, вам также необходимо прочитать ReadMe Python 3 и запустить сценарий
/Applications/Python 3.6/Install Certificates.command
bash для установки новых сертификатов.Спасибо за быстрый ответ, @aselle!
Спасибо! Это сработало! : D
Спасибо
Не могли бы вы изменить URL-адрес загрузки MNIST в contrib / learn / python / learn / datasets / mnist.py, чтобы не использовать https? Это поможет людям, у которых есть эта проблема. Попробовал в браузере, и ссылка для скачивания http работает.
строка для изменения:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
новая линия:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
Я вижу, что оба URL-адреса совпадают.
Не могли бы вы изменить URL-адрес загрузки MNIST в contrib / learn / python / learn / datasets / mnist.py, чтобы не использовать https? Это поможет людям, у которых есть эта проблема. Попробовал в браузере, и ссылка для скачивания http работает.
строка для изменения:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
новая линия:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
У меня это сработало.
Нам нужен только ввод в Терминале
open "/Applications/Python 3.6/Install Certificates.command"
Не могли бы вы изменить URL-адрес загрузки MNIST в contrib / learn / python / learn / datasets / mnist.py, чтобы не использовать https? Это поможет людям, у которых есть эта проблема. Попробовал в браузере, и ссылка для скачивания http работает.
строка для изменения:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
новая линия:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ 'Я вижу, что оба URL-адреса совпадают.
замените https: // ... на http: // ...
/ Applications / Python 3.7 / Установить Certificates.command
Работай на меня
Как это сделать в Manjaro Linux? У меня есть тензорный поток Python3.7.
Если вы хотите просто скопировать вставку в Терминал:
/Applications/Python\ 3.6/Install\ Certificates.command
Спасибо чувак! Меня устраивает!
Я просто запускаю код в блокноте jupyter:
!/Applications/Python\ 3.6/Install\ Certificates.command
перейдите в .local / python3.X / lib / python3.6 / site-packages / keras / utils / data_utils.py
запросы на импорт
request.packages.urllib3.disable_warnings ()
импортировать ssl
пытаться:
_create_unverified_https_context = ssl._create_unverified_context
кроме AttributeError:
# Устаревший Python, который по умолчанию не проверяет сертификаты HTTPS
проходить
еще:
# Обработка целевой среды, не поддерживающей проверку HTTPS
ssl._create_default_https_context = _create_unverified_https_context
`` ''
теперь попробуйте новый экземпляр python и ... надеюсь, он сработает: smile_cat:
Это могло быть также связано с тем, что я недавно перешел на новую машину, а она все еще установлена частично :)
Для справки в будущем: если вы хотите использовать установщик Python dmg, вам также необходимо прочитать ReadMe Python 3 и запустить сценарий
/Applications/Python 3.6/Install Certificates.command
bash для установки новых сертификатов.Спасибо за быстрый ответ, @aselle!
Вы спасли мне жизнь этим комментарием! <3
Не могли бы вы изменить URL-адрес загрузки MNIST в contrib / learn / python / learn / datasets / mnist.py, чтобы не использовать https? Это поможет людям, у которых есть эта проблема. Попробовал в браузере, и ссылка для скачивания http работает.
строка для изменения:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
новая линия:
SOURCE_URL = ' https://storage.googleapis.com/cvdf-datasets/mnist/ '
Это работает для меня на ubuntu
путем изменения ~/miniconda/envs/py36/lib/python3.6/site-packages/tensorflow_core/python/keras/datasets/mnist.py
Новая линия
origin_folder = 'http://storage.googleapis.com/tensorflow/tf-keras-datasets/'
Вот что у меня сработало:
Это все. Утилита загрузки keras ищет в этой папке кэшированные данные перед передачей по сети.
(Python 3.7.3, тензорный поток 2.1.0)
/ Applications / Python 3.6 / Install Certificates.command работает ли это и с виртуальной средой?
Самый полезный комментарий
Это могло быть также связано с тем, что я недавно перешел на новую машину, а она все еще установлена частично :)
Для справки в будущем: если вы хотите использовать установщик Python dmg, вам также необходимо прочитать ReadMe Python 3 и запустить сценарий
/Applications/Python 3.6/Install Certificates.command
bash для установки новых сертификатов.Спасибо за быстрый ответ, @aselle!