Python 3.5.1 için urllib2 yüklemeniz gerekiyor


102

Mac için Python 3.5.1 çalıştırıyorum. urllib2Modülü kullanmak istiyorum . Ben yüklemeden denedim ama içine bölünmüş oldu söylendi urllib.requestve urllib.errorPython 3 için.

Benim komutum (şimdilik çerçeve bin dizininden çalışıyor çünkü benim yolumda değil):

sudo ./pip3 install urllib.request

Bunu döndürür:

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

Bir urllib2seferde yüklemeye çalıştığımda aynı hatayı aldım .


2
urllib.requestPython programınıza içeri aktaramaz mısınız?
michaelpri

3
urllib.request, standart kitaplığın bir parçasıdır ve kurulmasına gerek yoktur.
Daniel Roseman


urllib std kütüphanesinin bir parçası ama içinde sadece ayrıştırma paketi içeriyor, bunda istek bulamadım ....
Devendra Bhat

Yanıtlar:


171

UYARI : Güvenlik araştırmaları , PyPI üzerindeurllib , kurulduğunda 'eve telefon edecek'adlı bir paket de dahil olmak üzere birçok zehirli paket buldu. Haziran 2017'den sonra bir süre kullandıysanız pip install urllib, bu paketi mümkün olan en kısa sürede kaldırın .

Yapamazsın ve gerek yok.

urllib2Python 2'de bulunan kitaplığın adıdır. Bunun yerine Python 3 ile birlikte verilen urllib.requestkitaplığı kullanabilirsiniz . urllib.requestKütüphane aynı şekilde çalışır urllib2onu Çünkü Python 2. eserleri zaten dahil yüklemeniz gerekmez.

Size kullanmanızı söyleyen bir öğreticiyi takip ediyorsanız urllib2, daha fazla sorunla karşılaşacağınızı göreceksiniz. Öğreticiniz Python 2 için yazılmıştır, Python 3 için değil. Farklı bir öğretici bulun veya Python 2.7'yi kurun ve bu sürümle ilgili öğreticinize devam edin. Bu urllib2sürümle birlikte geldiğini göreceksiniz .

Alternatif olarak, requestskitaplığı daha üst düzey ve kullanımı daha kolay bir API için yükleyin . Hem Python 2 hem de 3 üzerinde çalışacak.


24
Teşekkürler, o zaman şunu kullanabilirim:import urllib.request as urllib2
MewX

yani pip kötü amaçlı yazılımlara karşı denetlenmiyor mu?
igor

3
@igor: pippaketleri her yerden bulabilen ve yükleyebilen bir komut satırı aracıdır. Varsayılan paket dizini olan PyPI.org pipdenetlenmez. Python Yazılım Vakfı, gönüllü olarak yürütülen bir kuruluştur ve söz konusu kod miktarını yönetmeye bile başlayamaz.
Martijn Pieters


28

Acording docs :

Not urllib2 modülü, Python 3'te urllib.requestve adlı birkaç modüle bölünmüştür urllib.error. 2to3 aracı, kaynaklarınızı Python 3'e dönüştürürken içe aktarmaları otomatik olarak uyarlayacaktır.

Bu nedenle, istediğiniz şeyi yapmak imkansız gibi görünüyor, ancak uygun python3 işlevlerini buradan kullanabilirsiniz urllib.request.


6

Python 3'te, ve urllib2adlı iki yerleşik modül ile değiştirildiurllib.requesturllib.error

Kaynaktan uyarlanmıştır


Öyleyse bunu değiştirin:

import urllib2

Bununla:

import urllib.request as urllib2
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.