簡體   English   中英

如何安裝six.moves.xmlrpc_client?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM