Python 如何安装six.moves.xmlrpc_客户端?

Python 如何安装six.moves.xmlrpc_客户端?,python,python-2.7,Python,Python 2.7,我正在从openstack复制一些代码片段,但当它运行到: import six.moves.xmlrpc_client as xmlrpclib 我得到了以下错误: import six.moves.xmlrpc_client as xmlrpclib ImportError: No module named xmlrpc_client 我已经安装了six软件包。如何解决这个问题 我正在使用Python2.7开发MacOS 我尝试安装,但失败: lichaos-MacBook-Pr

我正在从openstack复制一些代码片段,但当它运行到:

import six.moves.xmlrpc_client as xmlrpclib
我得到了以下错误:

    import six.moves.xmlrpc_client as xmlrpclib
ImportError: No module named xmlrpc_client
我已经安装了
six
软件包。如何解决这个问题

我正在使用Python2.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
是一个虚拟名称空间。它提供了对在Python2和Python3之间重命名的包的访问。因此,您不应该安装任何东西

通过从
six.moves.xmlrpc_客户机导入,开发人员不必处理它位于Python2和Python3中的情况。请注意,这些是标准库的一部分

将映射添加到;确保您有该版本或更新版本

Mac在
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python
中预装了六个版本1.4.1,这将干扰您在
站点包中安装的任何版本(在sys.path中最后列出)

最好的解决方法是使用,并将您自己版本的
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')
这将从您运行Python的路径中删除OSX提供的各种包;苹果安装这些设备是为了满足他们自己的需要

pip uninstall six  
pip install six  

应该可以解决这个问题。

谢谢你的回答。我刚刚尝试使用pip安装xmlrpclib,但失败了,请查看问题中的更新。你能帮忙吗?顺便说一下,我没有使用Django。@Evali:您不需要安装
xmlrpclib
。它是Python标准库的一部分。@EvanLi:pip show six
表示您安装了什么?@EvanLi:Mac系统版本,是1.4.1版。。hrmz,让我调查一下。我在我的系统上也看到了。@EvanLi:updated;您最好的选择是使用virtualenv(它将您与苹果提供的版本隔离开来)。