2016-05-05 34 views
5

PróbowałemPython 3.5.1 urllib ma żądania atrybutu

import urllib.request 

lub

import urllib 

ścieżkę do mojego urllib wynosi /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/__init__.py

Zastanawiam się gdzie jest urlopen lub czy mój moduł python wskazuje na niewłaściwy plik?

+0

zabawny. Działa dla mnie (i mam tę samą ścieżkę). Co otrzymujesz z 'os.listdir (os.path.dirname (urllib .__ file __))'? – mgilson

+0

To "[__init__.py", "__pycache__", "error.py", "parse.py", "request.py", "answer.py", "robotparser.py"] ' – user1999806

+0

brzmi jak twoje ścieżki są skrzyżowane. spróbuj 'import sys; print (sys.path)' i zobacz, czy pojawiają się jakieś powiązane ścieżki Pythona 2? jeśli tak, być może masz coś niezwykłego ustawić w PYTHONPATH w środowisku powłoki? –

Odpowiedz

12

Użyj tego:

import urllib.request

Powodem jest:

Z opakowań, tak, czasami trzeba jawnie zaimportować kawałek chcesz. W ten sposób moduł urllib nie musi ładować wszystkiego, tylko dlatego, że potrzebna jest jedna mała część.

Według this