Python 3.5.1 용 urllib2를 설치해야합니다.


100

Mac 용 Python 3.5.1을 실행하고 있습니다. urllib2모듈 을 사용하고 싶습니다 . 나는 그것을 설치 시도하지만 난 그게로 분할되었습니다 들었다 urllib.requesturllib.error파이썬 3.

내 명령 (내 경로에 없기 때문에 지금은 프레임 워크 bin 디렉터리에서 실행) :

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.requestPython 프로그램에서 가져올 수 없습니까 ?
michaelpri 2015

3
urllib.request는 표준 라이브러리의 일부이며 설치할 필요가 없습니다.
Daniel Roseman 2015


URLLIB는 표준 라이브러리의 일부이지만 그에만 구문 분석 패키지를 포함, 나는 .... 점에서 요청을 찾을 수 없습니다
Devendra 바트

답변:


169

경고 : 보안 연구 결과 PyPI 에서 몇 가지 감염된 패키지 가 발견되었습니다urllib. 여기에는 설치시 'phone home'이되는라는 패키지가 포함됩니다. 2017 년 6 월 이후 일정 시간 을 사용한 경우 가능한 한 빨리pip install urllib 해당 패키지 제거하세요 .

할 수없고 그럴 필요도 없습니다.

urllib2Python 2에 포함 된 라이브러리의 이름입니다 . 대신 Python 3에 포함 된 urllib.request라이브러리를 사용할 수 있습니다 . urllib.request라이브러리는 같은 방식으로 작동 urllib2이되기 때문에 파이썬 2에서 작품을 이미 포함 당신이 그것을 설치할 필요가 없습니다.

사용 방법 urllib2을 알려주는 튜토리얼을 따라 가면 더 많은 문제가 발생할 것입니다. 튜토리얼은 Python 3이 아닌 Python 2 용으로 작성되었습니다. 다른 튜토리얼을 찾거나 Python 2.7을 설치하고 해당 버전에서 튜토리얼을 계속하십시오. 당신이 찾을 수는 urllib2해당 버전이 함께 제공됩니다.

또는 더 높은 수준의 사용하기 쉬운 API 용 requests라이브러리 를 설치하십시오 . Python 2와 3 모두에서 작동합니다.


24
감사합니다. 다음을 사용할 수 있습니다.import urllib.request as urllib2
MewX

그래서 pip는 맬웨어에 대해 조정되지 않습니까?
이고르

3
@igor : pip는 어디에서나 패키지를 검색하고로드 할 수있는 명령 줄 도구입니다. 기본 패키지 색인 인 PyPI.org pip는 검토되지 않습니다. Python Software Foundation은 자원 봉사자가 운영하는 조직이며 관련된 코드의 양을 조정하기 시작할 수도 없습니다.
Martijn Pieters

머리를 올려 주셔서 감사합니다
B Furtado

28

문서 에 따르면 :

참고 urllib2 모듈은 Python 3에서 urllib.requesturllib.error. 2to3 도구는 소스를 Python 3으로 변환 할 때 가져 오기를 자동으로 조정합니다.

따라서 원하는 것을 수행하는 것이 불가능한 것처럼 보이지만 .NET에서 적절한 python3 함수를 사용할 수 있습니다 urllib.request.


6

Python 3에서는 and urllib2라는 두 개의 내장 모듈로 대체되었습니다.urllib.requesturllib.error

소스 에서 수정


따라서 이것을 교체하십시오.

import urllib2

이것으로 :

import urllib.request as urllib2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.