[英]how to install six.moves.xmlrpc_client?
我正在從openstack復制一些代碼片段,但是當它運行到:
import six.moves.xmlrpc_client as xmlrpclib
我收到以下錯誤:
import six.moves.xmlrpc_client as xmlrpclib
ImportError: No module named xmlrpc_client
我已經安裝了six
包。 如何解決這個問題呢?
我正在使用python 2.7處理MacOS。
我嘗試安裝但失敗了:
lichaos-MacBook-Pro:common lichao$ sudo pip install --allow-unverified xmlrpclib xmlrpclib
Collecting xmlrpclib
xmlrpclib is potentially insecure and unverifiable.
Downloading http://effbot.org/media/downloads/xmlrpclib-1.0.1.zip
Installing collected packages: xmlrpclib
Running setup.py install for xmlrpclib
changing mode of build/scripts-2.7/xmlrpc_handler.py from 644 to 755
changing mode of build/scripts-2.7/xmlrpcserver.py from 644 to 755
changing mode of build/scripts-2.7/echotest.py from 644 to 755
changing mode of /usr/local/bin/echotest.py to 755
changing mode of /usr/local/bin/xmlrpc_handler.py to 755
changing mode of /usr/local/bin/xmlrpcserver.py to 755
Successfully installed xmlrpclib-1.0.1
$ sudo pip show six
---
Name: six
Version: 1.8.0
Location: /Library/Python/2.7/site-packages
Requires:
但是當我運行我的程序時,我仍然遇到同樣的錯誤。 如何解決問題?
six.moves
是一個虛擬命名空間 。 它提供對在Python 2和3之間重命名的包的訪問。因此,您不應該安裝任何東西。
通過從six.moves.xmlrpc_client
導入,開發人員不必處理它位於Python 2中的xmlrpclib
和Python 3中的xmlrpc.client
情況。請注意,這些是標准庫的一部分。
映射已添加到six
版本1.5.0 ; 確保您擁有該版本或更新版本。
Mac在/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
預裝了六個版本1.4.1,這將干擾您在site-packages
安裝的任何版本(最后列出的版本)在sys.path中)。
最好的解決方法是使用virtualenv並將其自己的six
版本與此項目所需的任何其他內容一起安裝。 為新項目創建一個新的virtualenv。
如果您必須在系統級別安裝它,那么對於此特定項目,您將必須刪除/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
路徑:
import sys
sys.path.remove('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python')
這將從您的路徑中刪除各種OS X提供的包,僅用於運行Python; Apple會根據自己的需要安裝這些產品。
pip uninstall six
pip install six
應該解決這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.