Интересно, что я заметил некоторое поведение, зависящее от IDE.
Оба Spyder и PyCharm используют один и тот же интерпретатор на моей машине: в PyCharm мне нужно сделать
import urllib.request
в то время как в Spyder,
import urllib
отлично [/p >
Ответ 3
Если это на PyCharm, как и у меня, убедитесь, что ваше имя файла не является urllib.py.
Ответ 4
В визуальном коде вы должны написать импорт urllib.request вместо простого импорта urllib.
Кроме того, всякий раз, когда ошибки, такие как , модуль x не имеет атрибута y, возникает, потому что вы назвали текущий файл таким же, как пакет, который вы пытаетесь импортировать.
Таким образом, способ импорта в python заключается в том, что он сначала ищет текущий каталог, и если он находит модуль/пакет 'x', который вы искали, он предполагает, что он нашел целевой файл, и ищет 'y'. И так как вы не определили 'y', возникает вышеупомянутая ошибка.