Путь для моего urllib
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/__init__.py
Мне интересно, где urlopen, или мой модуль python указывает на неправильный файл?
Ответ 1
Используйте это:
import urllib.request
Причина такова:
В таких пакетах иногда необходимо явно импортировать вы хотите. Таким образом, модуль urllib не загружается все просто потому, что вам нужна небольшая часть.
В python 3.6.x это сработало для меня, поэтому мне не пришлось менять код вообще:
import urllib.request as urllib
Ответ 3
Если ничего из вышеперечисленного не помогло вам, попробуйте переименовать ваш модуль Python.
В моем конкретном случае проблема заключалась в том, что файл, который я запускал, назывался http.py Как только я изменил имя на test-http.py, импорт urllib.request устранил ошибку AttributeError: module 'urllib' has no attribute 'request'
Я заметил, что далее во время трассировки исключений внутренние пакеты пытались получить модуль с именем http, так что я догадался, что имя моего модуля было в порядке вещей...