我正在教自己Python,感谢我在遇到困难时得到的巨大帮助,我很满意我的进步。
我正在开发一个项目,该项目从多个API,数据地址地址,提取地理位置(使用GeoPy)中检索大量记录,现在我想在Google地球中将它们可视化。
我想做的完美库是PyKML。它看起来非常简单,特别是因为我想在PyKML文档中重新创建“circle around locations”之旅,这使我能够以编程方式创建KML文档。
我遇到的问题是PyKML依赖于lxml,而lxml依赖于libxml2& libxslt,我无法安装任何一个。
我不确定这些库的用途是什么,我甚至不知道我是否可以在我的机器上运行(我使用的是Windows)。 libxml2和libxslt的文档对我来说特别困惑,因为提到了C语言和编译器。
有人能告诉我“安装”和测试lxml,libxml2和libxslt与Python一起使用的正确方法是什么?有没有人知道允许以编程方式创建KML文档的其他Python库,并且最好不依赖于其他库?
提前感谢您的帮助。干杯
解决
我通过卸载64位版本的Python for Windows并安装32位版本解决了这个问题。
此外,我从这里安装了Python 2.6的lxml 2.3的32位二进制版本:
http://pypi.python.org/pypi/lxml/2.3
我认为问题是Python 2.6 64的某些组件与lxml工作所需的所有库之间不兼容。
答案 0 :(得分:2)
但是,所有这些库都应与easy_install
一起安装。
PyKML文档说
鉴于此,安装pyKML的第一步是在系统上运行lxml。请参阅lxml网站了解instructions on how to install lxml。
如果您使用的是类似unix的系统(包括OS X),则可能已经安装了libxml2和libxslt,或者可以通过本机程序包管理器轻松安装。
对于windows ,lxml提供了预编译的鸡蛋,其中libxml2和libxslt静态编译(如lxml install documentation中所述),因此你不需要安装他们分开。来自lxml文档:
获取easy_install工具并以超级用户(或管理员)身份运行以下命令:
easy_install --allow-hosts=lxml.de,*.python.org lxml
在MS Windows上,上面将安装我们提供的二进制版本。如果还没有最新版本的二进制版本,请在PyPI上搜索包含它们的最新版本,并将该版本传递给easy_install。
最新版本似乎是2.3,所以只有在上述命令不起作用时,请尝试:
easy_install --allow-hosts=lxml.de,*.python.org lxml==2.3
根据您easy_install PyKML
时收到的错误消息,听起来easy_install没有找到您安装的lxml软件包,并且正在尝试为PyKML安装它。您可以尝试强制使用easy_install --no-deps pykml
来解决问题,这将忽略依赖关系并只安装PyKML(这是一个简单的python-only库)。然后测试import pykml
是否有效,如果确实如此,则完成。
答案 1 :(得分:0)
我通过卸载64位版本的Python for Windows并安装32位版本解决了这个问题。
此外,我从这里安装了Python 2.6的lxml 2.3的32位二进制版本:
http://pypi.python.org/pypi/lxml/2.3
我认为问题是Python 2.6 64的某些组件与lxml工作所需的所有库之间不兼容。