2016-05-05 2 views
5

Я попыталсяPython 3.5.1 URLLIB не имеет запрос не атрибут

import urllib.request 

или

import urllib 

Путь к моей URLLIB именно /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/__init__.py

Я задаюсь вопросом, где находится urlopen, или мой модуль python указывает на неправильный файл?

+0

Смешная. Работает для меня (и у меня тот же путь). Что вы получаете от 'os.listdir (os.path.dirname (urllib .__ file __))'? – mgilson

+0

Это '['__init__.py', '__pycache__', 'error.py', 'parse.py', 'request.py', 'response.py', 'robotparser.py']' – user1999806

+0

, это звучит как ваши пути пересекаются. попробуйте 'import sys; print (sys.path)' и посмотрите, появляются ли какие-либо пути, связанные с python 2? если да, возможно, у вас есть что-то необычное в вашей PYTHONPATH в вашей среде оболочки? –

ответ

12

Используйте это:

import urllib.request

Причина заключается в том:

С пакетами, как это, иногда необходимо явно импортировать часть, которую Вы хотите. Таким образом, модулю urllib не нужно загружать все, только потому, что вам нужна небольшая часть.

Согласно this