2

我尝试从 PyPI 安装Rtree 0.7.0ImportError: No module named index ,但是当我尝试使用它时,我不断得到它。我从下载页面下载并运行了 Rtree-0.7.0.win32.exe ,一切似乎都已正确安装。

这是我得到的完整错误消息(来自 Python 3.2.2 shell):

>>> from rtree import index
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    from rtree import index
  File "C:\Python32\lib\site-packages\rtree\__init__.py", line 1, in <module>
    from index import Rtree
ImportError: No module named index

>>> import rtree
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    import rtree
  File "C:\Python32\lib\site-packages\rtree\__init__.py", line 1, in <module>
    from index import Rtree
ImportError: No module named index

错误消息表明没有名为“index”的模块,但是当我查看我的C:\Python32\lib\site-packages\rtree\目录时,我看到它在那里。

RTree 包目录

什么可能导致我仍然收到ImportError: No module named index错误消息,我该如何修复它以便我可以使用 RTree 模块?

4

1 回答 1

5

它似乎依赖于import foo相对导入。这是 2.x 中的默认行为(从 2.5 开始,有一个__future__指令覆盖它)。Python 3删除了这个. 所以维护人员可能甚至没有尝试与 3.x 兼容,安装只是偶然。适当地,没有关于 Python 3 兼容性的声明:没有Programming Language :: Python :: 3trove 分类器,文档中没有提及,没有使用 2to3setup.py等。没有修补rtree来解决这个问题,可能还有许多其他问题,你不会让它工作.

于 2012-12-29T18:01:57.713 回答