2015-03-31 109 views
20

我想在CentOS 7上运行REST API,我读urllib.parse是在Python 3中,但我使用的是Python 2.7.5,所以我不知道如何安装这个模块。没有模块名为urllib.parse(我应该如何安装它?)

我安装了所有的需求但仍然无法运行项目。

当我正在寻找一个网址我得到这个(我使用的是可浏览界面):

输出:

ImportError at /stamp/ 
No module named urllib.parse 

回答

12

你想使用里urlparse python2:

from urlparse import urlparse 
13

根据您提供的信息,您最好的选择是使用Python 3.x.

您的错误表明该代码可能是为Python 3编写的,因为它试图导入urllib.parse。如果你写的软件,并有超过它的源代码控制,你应该改变进口到:

from urlparse import urlparse 

urllib分成urllib.parseurllib.requesturllib.error在Python 3

我建议您如果因为某些原因无法更改进口产品,请快速浏览CentOS 中的软件集合。 您可以在Python 3.3带来这样的:

  1. yum install centos­-release­-SCL
  2. yum install python33
  3. scl enable python33

检查this页出去上的SCL

0

问题是因为我有更多的信息Django(1.4.10)的较低版本,因此Django Rest Framework至少需要Django 1.4.1 1或更大。感谢他们的回答家伙!

下面的链接,Django的休息的要求:http://www.django-rest-framework.org/

-4
pip install -U websocket 

我只是用这个来解决我的问题

+0

我已经看到了答案的某个地方,即使这确实解决了问题,因为具有urlparse作为依赖关系,但不是解决此问题的正确方法。 – erm3nda 2017-05-27 09:11:34

32

如果你需要编写的代码是Python2和Python3兼容,你可以使用下面的进口

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

解答关于py2和py3的问题要好得多:-) – erm3nda 2017-05-27 09:12:30

0

对于Python 3,使用以下命令:

import urllib.parse 
3

为Python 3 pip install urllib

在%PYTHON_HOME%\ Lib \ site-packages \ solrcloudpy \ utils.py中找到utils.py

变化import urlparse

from urllib import parse as urlparse 
0

安装six,Python的2和3兼容库:

$ sudo -H pip install six 

使用它:

from six.moves.urllib.parse import urlparse 

(编辑:我被删除的其他回答)

相关问题