python - OWSLib 和 python3

标签 python python-3.x python-3.4

我遇到以下问题:

>>> from owslib.wms import WebMapService
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\lib\site-packages\owslib\wms.py", line 26, in <module>
    from .etree import etree
  File "C:\Python34\lib\site-packages\owslib\etree.py", line 48, in <module>
    patch_well_known_namespaces(etree)
  File "C:\Python34\lib\site-packages\owslib\etree.py", line 31, in patch_well_k
nown_namespaces
    for k, v in ns.get_namespaces().iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'

安装的库:

---
Name: lxml
Version: 3.3.3
Location: c:\python34\lib\site-packages\lxml-3.3.3-py3.4-win32.egg
Requires:
---
Name: OWSLib
Version: 0.8.13
Location: c:\python34\lib\site-packages
Requires: python-dateutil, pytz

如果有任何解决问题的想法,我将不胜感激。

最佳答案

dict.iteritems 仅出现在 Python 2.x 中,当时 dict.items 返回一个列表。然而,在 Python 3.x 中,dict.items 已更改为返回 view object所以 dict.iteritems was removed因为不再需要了。

这意味着您使用的 OWSLib 版本是为 Python 2.x 制作的,因此与 Python 3.x 不兼容。您需要使用 Python 2.x 或安装可以使用 Python 3.x 的 OWSLib 版本。

关于python - OWSLib 和 python3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28520907/

相关文章:

python - 在pygame上创建简单的声音

python - 如何将节点名称分配给矩阵 Networkx?

python - 如何将 .netrc 文件附加到 python 请求获取方法?

python - 我们可以添加范围作为从数据库中提取值的标准吗?

python - 如何以表格形式和字母顺序打印字典?

python - 如果条件通过则返回方法结果的简写形式

python - 列表中 10 的倍数

python - 编译py文件时没有名为utils的模块错误

python : Typeerror : Non-empty format string passed to object. __format__

python - 在不保存的情况下在 Jupyter Notebook 中打开 base64 字符串图像