我想在CentOS 7上運行REST API,我讀urllib.parse是在Python 3中,但我使用的是Python 2.7.5,所以我不知道如何安裝這個模塊。沒有模塊名爲urllib.parse(我應該如何安裝它?)
我安裝了所有的需求但仍然無法運行項目。
當我正在尋找一個網址我得到這個(我使用的是可瀏覽界面):
輸出:
ImportError at /stamp/
No module named urllib.parse
我想在CentOS 7上運行REST API,我讀urllib.parse是在Python 3中,但我使用的是Python 2.7.5,所以我不知道如何安裝這個模塊。沒有模塊名爲urllib.parse(我應該如何安裝它?)
我安裝了所有的需求但仍然無法運行項目。
當我正在尋找一個網址我得到這個(我使用的是可瀏覽界面):
輸出:
ImportError at /stamp/
No module named urllib.parse
你想使用裏urlparse python2:
from urlparse import urlparse
根據您提供的信息,您最好的選擇是使用Python 3.x.
您的錯誤表明該代碼可能是爲Python 3編寫的,因爲它試圖導入urllib.parse
。如果你寫的軟件,並有超過它的源代碼控制,你應該改變進口到:
from urlparse import urlparse
urllib
分成urllib.parse
,urllib.request
和urllib.error
在Python 3
我建議您如果因爲某些原因無法更改進口產品,請快速瀏覽CentOS 中的軟件集合。 您可以在Python 3.3帶來這樣的:
yum install centos-release-SCL
yum install python33
scl enable python33
檢查this頁出去上的SCL
問題是因爲我有更多的信息Django(1.4.10)的較低版本,因此Django Rest Framework至少需要Django 1.4.1 1或更大。感謝他們的回答傢伙!
下面的鏈接,Django的休息的要求:http://www.django-rest-framework.org/
pip install -U websocket
我只是用這個來解決我的問題
如果你需要編寫的代碼是Python2和Python3兼容,你可以使用下面的進口
try:
from urllib.parse import urlparse
except ImportError:
from urlparse import urlparse
解答關於py2和py3的問題要好得多:-) – erm3nda 2017-05-27 09:12:30
對於Python 3,使用以下命令:
import urllib.parse
爲Python 3 pip install urllib
在%PYTHON_HOME%\ Lib \ site-packages \ solrcloudpy \ utils.py中找到utils.py
變化import urlparse
到
from urllib import parse as urlparse
安裝six,Python的2和3兼容庫:
$ sudo -H pip install six
使用它:
from six.moves.urllib.parse import urlparse
(編輯:我被刪除的其他回答)
我已經看到了答案的某個地方,即使這確實解決了問題,因爲具有urlparse作爲依賴關係,但不是解決此問題的正確方法。 – erm3nda 2017-05-27 09:11:34