python3安装urllib3库_关于python:在Python3.6中安装urllib

我想导入urllib以使用功能"请求"。 但是,尝试这样做时遇到错误。 我尝试了pip install urllib,但仍然遇到相同的错误。 我正在使用Python 3.6。 真的感谢任何帮助。

我确实使用以下代码导入urllib.request:

1

2

3

4

5

6

7

8import urllib.request, urllib.parse, urllib.error

fhand = urllib.request.urlopen('data.pr4e.org/romeo.txt')

counts = dict()

for line in fhand:

words = line.decode().split()

for word in words:

counts[word] = counts.get(word, 0) + 1

print(counts)

但是它给了我这个错误:ModuleNotFoundError:没有名为" urllib.parse"的模块; 'urllib'不是软件包

这是错误的屏幕截图

什么操作系统,有哪些错误等?

我正在使用Windows。 我用更多详细信息和问题的屏幕快照编辑了问题。 请检查一下。

您尝试了from urllib import request吗?

您是如何安装Python3的? 请尝试提供所有信息,以便人们可以回答您的问题。

始终将完整的错误消息(Traceback)置于问题中(作为文本,而不是屏幕截图)。 还有其他有用的信息。

您将代码保存在文件urllib.py中,这是您的问题。 import urllib首先尝试将文件urllib.py加载到本地文件夹中,然后加载文件而不是预期的模块。

urllib是一个标准库,您无需安装。 import urllib

我做到了,但仍然无法正常工作。我用更多详细信息和问题的屏幕快照编辑了问题。请检查一下。

或从urllib导入请求

@mohamed您输入的内容与您的答案完全不符

@ArthurTacca非常感谢您!它与您的编辑一起工作。

更正的代码是

1

2

3

4

5

6

7

8import urllib.request

fhand = urllib.request.urlopen('http://data.pr4e.org/romeo.txt')

counts = dict()

for line in fhand:

words = line.decode().split()

for word in words:

counts[word] = counts.get(word, 0) + 1

print(counts)

运行上面的代码会产生

1{'Who': 1, 'is': 1, 'already': 1, 'sick': 1, 'and': 1, 'pale': 1, 'with': 1, 'grief': 1}

urllib是标准的python库(内置),因此您无需安装它。 如果需要使用request,只需导入它即可:

1import urllib.request

如果它不起作用,则可能是您以错误的方式编译了python,请客气并提供更多详细信息。

我确实使用以下代码导入urllib.request:导入urllib.request,urllib.parse,urllib.error fhand = urllib.request.urlopen(data.pr4e.org/romeo.txt)counts = dict()用于行中的代码:单词= line.decode()。split()表示单词中的单词:counts [word] = counts.get(word,0)+ 1 print(counts),但它给了我这个错误:ModuleNotFoundError:没有名为urllib.parse的模块; urllib不是软件包

@ahmed我用更多详细信息和屏幕截图编辑了问题,请检查它。

上面的代码对我来说很好用(只需用fhand = urllib.request.urlopen(http:data.pr4e.orgromeo.txt)替换第2行),而没有任何ModuleNotFoundError异常,您确定您拥有python 3.6吗?如果是的话,您是否拥有python 3.6.3或其他工具?

我有python 3.6.3

问题解决了,非常感谢兄弟!

发生这种情况是因为名为urllib.py的本地模块遮盖了您尝试使用的已安装请求模块。 当前目录位于sys.path之前,因此本地名称优先于已安装名称。

出现这种情况时,另一个调试技巧是仔细查看Traceback,并意识到所涉及脚本的名称与您要导入的模块匹配。

将文件重命名为其他名称,例如url.py。

然后,它工作正常。

希望能帮助到你!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值