2015-12-26 22 views
32

Używam Python 3.5.1 dla Mac. Chcę użyć urllib2. Próbowałem instalacji to, ale jak mi powiedziano, że został podzielony na urllib.request i urllib.error dla Pythona 3.Potrzebujesz zainstalować urllib2 dla Pythona 3.5.1

Moje poleceń (działa z katalogu bin ramowej do teraz, ponieważ nie jest w mojej ścieżce):

sudo ./pip3 install urllib.request 

Powroty:

Could not find a version that satisfies the requirement urllib.request (from versions:) 
No matching distribution found for urllib.request 

mam ten sam błąd wcześniej, kiedy próbowałem zainstalować urllib2 za jednym zamachem.

+1

Nie możesz po prostu zaimportować 'urllib.request' w swoim programie Python? – michaelpri

+2

urllib.request jest częścią standardowej biblioteki i nie wymaga instalacji. –

+0

duplikat http://stackoverflow.com/questions/16597865/is-there-a-library-for-urllib2-for-python-which-we-can-download – user2673238

Odpowiedz

12

Zgodnie docs:

Uwaga. Moduł urllib2 został podzielony na kilka modułów w Pythonie 3 o nazwach urllib.request i urllib.error. Narzędzie 2to3 automatycznie dostosować import gdy konwersja źródeł do Pythona 3.

Wygląda więc na to, że niemożliwe jest, aby zrobić dokładnie to, co chcesz, ale można użyć odpowiednich funkcji python3 z urllib.request.

70

UWAGA: Badania bezpieczeństwa odkryli several poisoned packages on PyPI, w tym pakiet o nazwie urllib, który będzie 'telefon do domu', gdy zainstalowany. Jeśli po pewnym czasie od czerwca 2017 r. Użyłeś pip install urllib, usuń ten pakiet tak szybko, jak to możliwe,.

Nie możesz i nie musisz.

urllib2 to nazwa biblioteki zawartej w Pythonie 2. Zamiast tego można użyć wersji urllib.request library dołączonej do Pythona 3. Biblioteka urllib.request działa w taki sam sposób, jak urllib2 działa w Pythonie 2. Ponieważ jest to już zawarte, nie musisz jej instalować.

Jeśli wykonujesz samouczek, który mówi, że chcesz korzystać z urllib2, zobaczysz, że będziesz mieć więcej problemów. Twój samouczek został napisany dla Pythona 2, a nie dla Pythona 3. Znajdź inny samouczek lub zainstaluj Python 2.7 i kontynuuj samouczek dotyczący tej wersji. Znajdziesz urllib2 w tej wersji.

Alternatywnie, zainstaluj requests library, aby uzyskać interfejs API na wyższym poziomie i łatwiejszy w użyciu. Będzie działać zarówno w Pythonie 2, jak i 3.

+1

Dzięki, mógłbym użyć: 'import urllib.request as urllib2' – MewX

-1

apt-get install python-urllib3 # dla pytona 2
apt-get install python3-urllib3 # dla Pythona 3

lub

pip zainstalować urllib3 # dla pytona 2
pip3 install urllib3 # dla python 3

0

Na początku twojego pytona skrypt powinien być następujący:

blockquote 'import urllib2'

po tym można przystąpić z bezpłatnym przykład jak następuje:

blockquote „odpowiedzi = urllib2.urlopen ('http://pythonforbeginners.com/')

print response.info()

html = response.read()

response.close() # najlepsze praktyki, aby zamknąć plik”

lub przejść po 'urllib2 import' z tej bezpłatnej przykład w następujący sposób:

Blockquote 'page = urllib2.urlopen (' http://0.0.0.0 ')

druku page.info()'

+0

Witam? - Czy ktoś może mi pomóc w sformatowaniu tekstu? Blockquote jest jakoś nie tak? – dschinn1001

Powiązane problemy