无法导入urllib.request和urllib.parse

4 投票
2 回答
9453 浏览
提问于 2025-04-18 09:05

我会很感激任何帮助。我使用的是Python 3.4.1,想要导入urllib.request和urllib.parse这两个模块。但是一直失败。我总是收到:

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/x/Documents/PROGRAMING and MODELING/Phyton/find cure words/importowanie.py", line 1, in <module>
    import urllib.parse
  File "C:/Users/x/Documents/PROGRAMING and MODELING/Phyton/find cure words\urllib.py", line 1, in <module>
    import urllib.request
ImportError: No module named 'urllib.request'; 'urllib' is not a package

我觉得问题可能出在导入上,但我不知道该怎么解决。

2 个回答

-1

我在安装 urllib.parse 的时候也遇到了麻烦。你可以手动添加这个源代码,这对我有效:https://hg.python.org/cpython/file/3.3/Lib/urllib/parse.py

去那个链接,复制源代码,保存到合适的文件名和格式中,然后导入它,就可以使用了。

编辑:链接错了

10

没有看到具体的代码,我只能根据以前的经验来猜测这个错误的原因。

我猜你是在一个叫做 importowanie.py 的文件里,尝试导入 urllib.parse,这个文件位于 C:/Users/x/Documents/PROGRAMING and MODELING/Phyton/find cure words 这个路径下。当 Python 尝试导入名为 urllib 的模块时,它会先在你导入的同一个文件夹里查找。在你的情况下,Python 发现这个文件夹里有一个叫 urllib 的模块。它会先查看这个模块,而不是去找真正的 urllib。因此,它在你的 urllib 模块里没有找到叫 parse 的东西,就报错了。这个问题是因为在 C:/Users/x/Documents/PROGRAMING and MODELING/Phyton/find cure words 目录下有一个叫 urllib.py 的文件。

解决办法就是把上面那个目录里的 urllib 文件改个名字,然后再试试。

撰写回答