问题:需要为Python 3.5.1安装urllib2
我正在为Mac运行Python 3.5.1。我想使用urllib2
模块。我尝试安装它,但被告知它已被拆分成Python 3 urllib.request
并urllib.error
用于Python 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
。
回答 0
警告:安全性研究发现 PyPI上有多个中毒的软件包,包括名为的软件包
urllib
,安装后会“打电话回家”。如果您pip install urllib
在2017年6月之后使用了一段时间,请尽快删除该软件包。
您不能,也不需要。
urllib2
是Python 2中包含的库的名称。您可以改用Python 3中包含的urllib.request
库。该urllib.request
库的工作方式与urllib2
在Python 2中的工作方式相同。由于已经包含该库,因此您无需安装它。
如果您正在遵循的教程告诉您使用方法,urllib2
那么您会发现遇到更多问题。您的教程是针对Python 2编写的,而不是针对Python 3编写的。找到其他教程,或者安装Python 2.7并继续该版本的教程。您会发现urllib2
该版本随附。
或者,安装该requests
库以获得更高级别且更易于使用的API。它可以在Python 2和3上使用。
回答 1
根据文档:
注意 urllib2模块已拆分为Python 3中名为
urllib.request
和的多个模块urllib.error
。将源转换为Python 3时,2to3工具将自动适应导入。
因此,似乎无法做您想做的事,但您可以使用中的适当python3函数urllib.request
。
回答 2
在Python 3中,
urllib2
被两个名为urllib.request
和的内置模块代替urllib.error
从来源改编
因此,替换为:
import urllib2
有了这个:
import urllib.request as urllib2