7 votos

¿Por qué no puedo importar arcpy?

>>> import arcpy
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python27\lib\arcpy\__init__.py", line 21, in <module>
    from arcpy.geoprocessing import gp
  File "C:\Python27\lib\arcpy\geoprocessing\__init__.py", line 14, in <module>
    from _base import *
  File "C:\Python27\lib\arcpy\geoprocessing\_base.py", line 14, in <module>
    import arcgisscripting
ImportError: DLL load failed: The specified module could not be found.

Este es el error cuando trato de importar arcpy. Alguna sugerencia?

7voto

Greg Puntos 1756

En Arcmap abrir el python una.k.una. ventana de línea de comandos, en virtud de Geoprocesamiento en 10.1, escriba import os, y, a continuación, os.__file__ a deducir la ubicación de los python.exe (receta de encontrar aquí). Utilizar los resultados de los que afinar en la variable de entorno PYTHONPATH en cualquier comando de shell o IDE que está utilizando.

>>> import os
>>> os.__file__
'C:\\Python27\\ArcGIS10.1\\Lib\\os.pyc'

así python.exe y así PYTHONHOME es uno sube de nivel, C:\Python27\ArcGIS10.1.

Este es mi archivo de proceso por lotes a habilitar ArcGIS python en un estándar de Símbolo del sistema de Windows shell:

@echo off
echo.
echo.   Setting environment for ArcGIS python 2.7
echo.
set PYTHONHOME=C:\Python27\ArcGIS10.1
set PYTHONPATH=%PYTHONHOME%;%PYTHONHOME%\Lib;%PYTHONHOME%\DLLs
set PATH=%PYTHONHOME%;%PYTHONHOME%\Scripts;%path%
set py
python --version

4voto

Michael Gorsuch Puntos 1760

no estoy seguro de por qué su arcpy ha sido copiado a c:\python27\lib. El estándar de la ubicación de instalación está dentro de ArcGIS\desktop10.x o equivalente para otros productos.

enfoque para la revisión #1 : dodge perdida de arcpy paquete. si hay un arcpy carpeta en el directorio de instalación del producto (por ejemplo. c:\Program Files (x86)\ArcGIS\Desktop10.x.) es que sólo se podría alcanzar esta perdida de arcpy carpeta de primera. Puede cambiar el nombre de c:\python27\lib\arcpy a c:\python27\lib\arcpy2 luego de importación de arcpy se pierda esta perdida y (con suerte) alcanzó la real arcpy paquete

enfoque para la revisión #2 : hacer que la perdida de arcpy paquete de encontrar arcgisscripting. El error es "no se puede encontrar arcgisscripting", que es una pyd archivo dentro de arcgis "bin" de la carpeta.

Forma más fácil de añadir que es crear un archivo de texto que se llama algo.la pth dentro de c:\python27\lib\site-packages

en este archivo, poner 2 caminos C:\Program files (x86)\desktop10.2\bin C:\Program files (x86)\desktop10.2\ArcToolbox\Scripts

la segunda ruta de ciertos gp herramientas se basan en (dentro de la Espacial Estadísticas de la biblioteca).

-1voto

ghasem Puntos 1

Es mejor comprobar el SIG wiki para ayudarle en este caso. En diferentes versiones de ArcGIS necesitamos utilizar diferentes módulos. De la wiki:

El soporte de Python en diferentes versiones de ArcGIS

El geoprocessor objeto de python se accede de forma diferente dependiendo de la versión de ArcGIS: [editar] ArcGIS 9.0/9.1

Estas versiones de ArcGIS, el uso de Python 2.1 con la PythonWin[6] paquete de acceso a un >Geoprocessor el uso de una interfaz COM:

importación win32com # PythonWin gp = win32com.cliente.Envío("esriGeoprocessing.GpDispatch.1")

El GpDispatch COM interfaz está disponible en las versiones posteriores de ArcGIS, aunque sólo es >disponibles para Python si PythonWin está instalado. [7] GpDispatch proporciona acceso a >geoprocesamiento utilizando cualquier lenguaje compatible con COM. [editar] ArcGIS 9.2

Esta versión de ArcGIS utiliza Python 2.4 y trajo un cambio importante en cómo la Geoprocessor >fue creado. El win32com.el cliente ya no es necesario, sustituido por el de Python-nativo >(no COM) arcgisscripting módulo. De esta manera se proporciona un mejor rendimiento y permite la >independencia de la plataforma; Python secuencias de comandos de geoprocesamiento utilizando el arcgisscripting módulo >admite que no sean Windows versiones de ArcGIS Server.

importación arcgisscripting gp = arcgisscripting.crear()

[editar] ArcGIS 9.3/9.3.1

Estas versiones de ArcGIS, el uso de Python 2.5.1 y puede utilizarse tanto con la versión 9.3 de >arcgisscripting o el original de la versión 9.2 de arcgisscripting.

importación arcgisscripting gp = arcgisscripting.crear() # 9.2 (el valor predeterminado para ArcGIS 9.2,9.3) gp = arcgisscripting.crear(9.3) # 9.3

Usted puede determinar la versión de la geoprocessor de su ScriptVersion de la propiedad:

print "GP versión:" + str(gp.ScriptVersion)

[editar] ArcGIS 10

Esta versión de ArcGIS añade el nuevo módulo arcpy. ArcPy es un paquete de sitio que se basa en (y es un sucesor a) la arcgisscripting módulo. Su objetivo es crear la piedra angular para una útil y productiva para realizar análisis de datos, conversión de datos, administración de datos y mapa de automatización con Python.

importación de arcpy

Las versiones más antiguas de la geoprocessor (GpDispatch y la arcgisscripting módulo) aún son compatibles para permitir la compatibilidad de secuencias de comandos de Python.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X