installation de rtree sur windows 64 bits

12

J'utilise windows10 64 bits, mon os.name est 'nt', j'ai utilisé pip pour installer mais il se plaint de spatialindex_c.dll

 File "C:\Users\Bachir\AppData\Local\Temp\pip-build-td64lrth\rtree\rtree\core.py", line 101, in <module>
   raise OSError("could not find or load spatialindex_c.dll")
 OSError: could not find or load spatialindex_c.dll

J'ai téléchargé rtree-0.8.2 et ensuite exécuté l'installation de python setup.py et j'ai le même message

PS C:\Users\Bachir\documents\Python Scripts\Rtree-0.8.2> python setup.py install
Traceback (most recent call last):
File "setup.py", line 4, in <module>
import rtree
File "C:\Users\Bachir\documents\Python Scripts\Rtree-0.8.2\rtree\__init__.py", line 1, in <module>
from .index import Rtree
File "C:\Users\Bachir\documents\Python Scripts\Rtree-0.8.2\rtree\index.py", line 6, in <module>
from . import core
File "C:\Users\Bachir\documents\Python Scripts\Rtree-0.8.2\rtree\core.py", line 101, in <module>
raise OSError("could not find or load spatialindex_c.dll")
OSError: could not find or load spatialindex_c.dll
PS C:\Users\Bachir\documents\Python Scripts\Rtree-0.8.2>  

J'ai téléchargé les fichiers dll spatialindex 'libspatialindex-1.8.1-win-msvc-2010-x64-x32.zip'. ce fichier contient à la fois 32 et 64 bits, décompressez et placez dans le dossier d'installation, lors de l'installation à l'aide de python setuo.py installez-le toujours en se plaignant du fichier dll spatialindex

bhalitim
la source

Réponses:

13

S'il vous plaît, regardez Comment puis-je installer pyproj dans arcpy?

1) le module RTree doit être compilé avec une version de libspatialindex installée dans le système (votre ordinateur) et ne pas simplement ajouter la DLL spatialindex après
2) Windows n'a pas de compilateur par défaut comme sous Linux ou Mac OS X donc vous ne pouvez pas installer RTree avec pip ou setup.py install
3) dans la page d' index des packages Python de RTree , ci-dessous le téléchargement est spécifié

Binaires Windows http://www.lfd.uci.edu/~gohlke/pythonlibs/#rtree

Les fichiers sont Rtree-0.8.2-cp27-none-win32.whl et Rtree-0.8.2-cp27-none-win_amd64.whl

Pour installer un fichier whl, téléchargez le fichier et

pip install Rtree-0.8.2-cp27-none-....whl (32 or 64)
gène
la source
Rtree-0.8.2-cp27-none-win32.whl n'est pas pris en charge sur python34 platfom
bhalitim
Ensuite, vous devez compiler Rtree avec une version de libspatialindex mais je ne peux pas vous aider car je n'utilise pas Windows
gène
Est-il possible d'inclure cette roue téléchargée dans votre propre package et d'avoir pip à installer à partir de là? Pour l'instant, je ne peux pas spécifier rtree comme une dépendance ...
Robin De Schepper
3

J'ai eu le même problème et je l'ai résolu en modifiant le fichier core.py dans Rtree dans

C: \ PROGRA ~ 1 \ QGIS2 ~ 1.18 \ apps \ Python27 \ lib \ site-packages \ rtree \ core.py

et changé cette ligne:

rt = _load_library('spatialindex_c.dll', ctypes.cdll.LoadLibrary)

par ça :

rt = _load_library('spatialindex_c-64.dll', ctypes.cdll.LoadLibrary)
Hicham Zouarhi
la source