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 arcpy
et gdal
. Cependant, lorsque j'essaie d'importer le gdal
module, 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.path
liste:
sys.path.append(r"C:\Python27\lib\site-packages")
Cependant, lorsque j'essaie d'exécuter import osgeo
ou from osgeo import gdal
que 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 à osgeo
partir d'une fenêtre normale non Arc Python fonctionne bien, et j'ai comparé sys.path
et 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?
Réponses:
@robintw l'a confirmé dans les commentaires .
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.
la source