无法安装 python 模块 urlparse

无法安装 python 模块 urlparse

用 Python 2.7 编写的某些程序抱怨ImportError: No module named 'urlparse'。所以我需要安装该模块,但我无法做到这一点。该模块确实存在,例如在https://docs.python.org/2/library/urlparse.html。但是,apt-get installpip install找不到名为urlparsepython-urlparseurllibpython-urllib... 的模块——我收到类似的消息, Could not find any downloads that satisfy the requirement ...唯一的例外是包python-urllib3,它可能包含所需的文件,但对于 Python 3 和安装没有帮助。

我已经安装了pippip3因为我需要 Python 2 的模块(pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7))。我的 Ubuntu 是 Xubuntu 13.10。

请问问题出在哪里?pip模块搜索的位置正确吗?我不知道应该在什么位置搜索...

答案1

urlparse是标准 Python 2 库的一部分。它作为 Python 的一部分提供;它未在 PyPI 等上单独打包。urlparse.urlparse(该函数)在 Python 3 中重命名为urllib.parse

因此,需要注意以下几点:

  • 您的 Python 2 程序可能在 Python 3 下运行。检查启动脚本以查看它如何选择哪个版本的 Python。它应该会启动,#!/usr/bin/env python2但也要仔细检查(通过运行env python2)它是否加载了 Python 2。

  • 某些东西已经吃掉了/usr/lib/python2.7/urlparse.py,在这种情况下libpython2.7-stdlib使用以下命令重新安装包:

    sudo apt-get install --reinstall libpython2.7-stdlib
    
  • 或者您有一个造成危害的本地文件......

答案2

如果你需要编写兼容 Python2 和 Python3 的代码,可以使用以下导入

try:
    from urllib.parse import urlparse
except ImportError:
    from urlparse import urlparse

答案3

如果你正在使用 python 2,请使用以下方式安装

pip install urlparse2

相关内容