Потрібно встановити urllib2 для Python 3.5.1


100

Я запускаю Python 3.5.1 для Mac. Я хочу використовувати urllib2модуль. Я спробував встановити його, але мені сказали, що це розділено на urllib.requestі urllib.errorдля Python 3.

Моя команда (зараз працює з каталогу bin frame, бо це не на моєму шляху):

sudo ./pip3 install urllib.request

Повертає це:

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

Я отримав таку ж помилку і раніше, коли намагався встановити urllib2одним махом.


2
Ви не можете просто імпортувати urllib.requestу програму Python?
michaelpri

3
urllib.request є частиною стандартної бібліотеки і не потребує встановлення.
Даніель Роузмен


urllib є частиною бібліотеки std, але він містить лише пакет розбору в цьому, я не зміг знайти запит у цьому ....
Devendra Bhat

Відповіді:


169

ПОПЕРЕДЖЕННЯ . Дослідження безпеки виявили кілька отруєних пакетів на PyPI , включаючи пакет з назвоюurllib, який буде "встановлений вдома" при встановленні. Якщо ви використовували pip install urllibдеякий час після червня 2017 року, видаліть цей пакет якомога швидше .

Ви не можете, і вам не потрібно.

urllib2це ім'я бібліотеки, включеної в Python 2. Натомість можна використовувати urllib.requestбібліотеку, що входить до Python 3. urllib.requestБібліотека працює точно так само urllib2працює в Python 2. Оскільки вона вже включена вам не потрібно , щоб встановити його.

Якщо ви дотримуєтесь підручника, який говорить вам про використання, urllib2то ви виявите, що у вас виникне більше проблем. Ваш підручник був написаний для Python 2, а не для Python 3. Знайдіть інший підручник або встановіть Python 2.7 та продовжте свій підручник у цій версії. Ви знайдете urllib2постачається з цією версією.

Крім того, встановіть requestsбібліотеку для більш високого рівня та простішого використання API. Він працюватиме як на Python 2, так і на 3.


24
Дякую, тоді я міг би скористатися:import urllib.request as urllib2
MewX

значить, pip не модерується проти зловмисного програмного забезпечення?
Ігор

3
@igor: pipце інструмент командного рядка, який дозволяє виявляти та завантажувати пакунки з будь-якого місця. PyPI.org, індекс пакета за замовчуванням pipбуде переходити, не модерується. Фонд програмного забезпечення Python - це організація, яка керується волонтерами, і навіть не може почати зменшувати кількість коду.
Мартійн Пітерс

Дякую за голову вгору
Б Фуртадо

28

Запис до документів :

Примітка . Модуль urllib2 розділений на кілька модулів в Python 3 з назвою urllib.requestта urllib.error. Інструмент 2to3 автоматично адаптуватиме імпорт при перетворенні джерел на Python 3.

Тому виявляється, що неможливо робити те, що ви хочете, але ви можете використовувати відповідні функції python3 urllib.request.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.