Vous importez GDAL à partir de la fenêtre Python d'ArcGIS for Desktop?

10

J'essaie d'exécuter du code Python à l'aide de la fenêtre Python dans ArcGIS 10.1 qui utilise à la fois les modules arcpyet gdal. Cependant, lorsque j'essaie d'importer le gdalmodule, j'obtiens une erreur:

ImportError: No module named osgeo

De toute évidence, il ne peut pas trouver le module, j'ai donc ajouté mon répertoire principal de packages de sites python à la sys.pathliste:

sys.path.append(r"C:\Python27\lib\site-packages")

Cependant, lorsque j'essaie d'exécuter import osgeoou from osgeo import gdalque j'obtiens l'erreur suivante:

Runtime error 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: DLL load failed: %1 is not a valid Win32 application.

J'ai trouvé diverses ressources sur Internet qui semblent parler de problèmes similaires (par exemple, cette question et ce message sur le forum , mais elles semblent obsolètes (c'est-à-dire qu'elles n'utilisent pas ArcGIS 10.1) ou ne demandent pas tout à fait la même chose. question.

Bien sûr, l'importation à osgeopartir d'une fenêtre normale non Arc Python fonctionne bien, et j'ai comparé sys.pathet os.environ['PATH']entre les scripts et les mis à jour afin qu'ils soient les mêmes, et cela ne semble pas résoudre le problème.

Quelqu'un a-t-il une idée de comment je peux faire fonctionner cela?

robintw
la source
J'ai déjà entendu des histoires de personnes faisant fonctionner GDAL dans l'interface ArcGIS python. Quelques questions: Quelle méthode avez-vous utilisée pour installer GDAL et êtes-vous sûr d'avoir installé et configuré correctement les liaisons Windows appropriées? Et avez-vous installé les liaisons python à l'installation d'ArcGIS python?
James Milner
Il semble que vous ayez une autre version (2.7) de Python installée en plus de la version (2.6) installée par ArcGIS 10. Avez-vous également installé GDAL pour 2.6 ou essayez-vous de le pointer vers la version installée pour 2.7? Votre 2.7 installe-t-il une installation 64 bits?
Jason
@Jason: J'utilise ArcGIS 10.1, qui selon gis.stackexchange.com/questions/22271/… utilise Python 2.7. Savez-vous si c'est correct?
robintw
1
@Robintw il existe de nombreuses façons d'installer GDAL pour python. Peut-être pourriez-vous me lier à l'exécutable que vous avez utilisé et comment vous l'avez configuré?
James Milner
2
J'ai juste réussi à résoudre la question - j'ai réussi à manquer la lecture du bit ci-dessus où @Jason m'a demandé si j'utilisais une installation 64 bits de Python 2.7. La réponse est que mon installation principale de Python 2.7 est de 64 bits, mais l'installation d'Arc est de 32 bits, j'ai donc dû installer une version 32 bits de GDAL, et maintenant cela fonctionne très bien. Merci à tous - je vais ajouter ma solution finale comme réponse.
robintw

Réponses:

5

@robintw l'a confirmé dans les commentaires .


ImportError: DLL load failed: %1 is not a valid Win32 application.

D'après l'erreur, il semblerait que votre installation Python 2.7 soit en 64 bits. Vous devrez installer la version 32 bits de Python et GDAL.

RK
la source