无法安装python模块urlparse


9

一些用Python 2.7编写的程序抱怨说ImportError: No module named 'urlparse'。因此,我需要安装该模块,但无法执行该操作。该模块确实存在,例如在https://docs.python.org/2/library/urlparse.html中进行了描述。然而,无论是apt-get install,还是pip install能够找到一个名为模块urlparsepython-urlparseurllibpython-urllib... -我得到的消息一样 Could not find any downloads that satisfy the requirement ...,唯一的例外是包python-urllib3这可能包含所需的文件,但为Python 3和安装这些并没有帮助。

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

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


检出pip search urlparse
kenn的

urlparse是标准库的一部分,即它与Python本身一起自动安装。您将无法通过apt,pip或easy_install安装il。
Andrea Corbellini 2014年

Ubuntu 13.10已过时。
埃德尼尔2014年

Answers:


13

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
  • 或者您有一个本地文件导致恶作剧...


11

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.