2015-12-26 83 views
32

Sto eseguendo Python 3.5.1 per Mac. Voglio usare urllib2. Ho provato a installare questo, ma mi hanno detto che è stato suddiviso in urllib.request e urllib.error per Python 3.È necessario installare urllib2 per Python 3.5.1

mio comando (in esecuzione dalla directory bin quadro per ora perché non è nel mio percorso):

sudo ./pip3 install urllib.request 

Returns:

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

ho ottenuto lo stesso errore prima, quando ho provato ad installare urllib2 in un colpo solo.

+1

Non puoi semplicemente importare 'urllib.request' nel tuo programma Python? – michaelpri

+2

urllib.request fa parte della libreria standard e non necessita di installazione. –

+0

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

risposta

12

Secondo docs:

Nota. Il modulo urllib2 è stato diviso in più moduli in Python 3 chiamati urllib.request e urllib.error. Lo strumento 2to3 si adatterà automaticamente le importazioni quando converte le vostre fonti di Python 3.

Così sembra che sia impossibile fare esattamente quello che vuoi, ma è possibile utilizzare le funzioni python3 appropriati dal urllib.request.

70

ATTENZIONE: ricerche di sicurezza hanno trovato several poisoned packages on PyPI, tra cui un pacchetto chiamato urllib, che 'telefono di casa' una volta installato. Se hai utilizzato pip install urllib un po 'di tempo dopo giugno 2017, rimuovi il pacchetto il prima possibile.

Non è possibile, e non è necessario.

urllib2 è il nome della libreria inclusa in Python 2. È possibile utilizzare lo urllib.request library incluso con Python 3, invece. La libreria urllib.request funziona allo stesso modo urllib2 funziona in Python 2. Poiché è già incluso non è necessario installarlo.

Se stai seguendo un'esercitazione che ti dice di usare urllib2, troverai ulteriori problemi. Il tuo tutorial è stato scritto per Python 2, non per Python 3. Trova un tutorial diverso, oppure installa Python 2.7 e continua il tuo tutorial su quella versione. Troverete urllib2 fornito con quella versione.

In alternativa, installare requests library per un'API di livello superiore e più facile da usare. Funzionerà sia su Python 2 e 3.

+1

Grazie, quindi potrei usare: 'import urllib.request as urllib2' – MewX

-1

apt-get install python-urllib3 # per Python 2
apt-get install python3-urllib3 # per Python 3

o

PIP installare urllib3 # per Python 2
pip3 installa urllib3 # per python 3

0

All'inizio del tuo pitone script dovrebbe essere la seguente:

Blockquote 'importazione urllib2'

dopo questo si può procedere con un esempio libero come segue:

Blockquote 'risposta = urllib2.urlopen ('http://pythonforbeginners.com/')

stampa response.info()

.210

html = response.read()

response.close() # best practice per chiudere il file'

oppure procedere dopo 'importazione urllib2' con questo esempio libero come segue:

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

stampa page.info()'

+0

Ciao? - Qualcuno può aiutarmi a formattare il testo? Blockquote è in qualche modo sbagliato? – dschinn1001