Я создал небольшой (и относительно популярный) модуль, который запускается и ищет ArcGIS на вашем ПК. Найдя его, вы добавляете правильные пути в среду, чтобы вы могли импортировать arcpy. Использование идет так:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
Модуль размещен на github здесь:
https://github.com/JamesRamm/archook
Это очень просто, и я уверен, что можно сделать более надежным, но это делает работу. Доступно на pypi:pip install archook
Он имеет несколько преимуществ по сравнению с более «ручным» оригинальным методом (подробно описано ниже):
- Вам не нужно настраивать каждую среду Python отдельно ... просто импортируйте модуль и все готово
- Он не редактирует / не создает какие-либо ключи реестра или постоянные переменные среды, поэтому нет никаких шансов испортить любую существующую конфигурацию Python / arcgis.
- Вам не нужно ничего знать о путях к различным папкам / файлам или даже о том, какую версию arcgis вы установили. Модуль найдет все это для вас.
- Не требуется аутентификация администратора
- Это не является специфическим для anaconda - он будет работать с любой установкой Python
Я оставил оригинальный ответ ниже, но это решение (IMO) на 100% лучше.
Ответ 2014
Итак, этот ответ работает для дистрибутива Anaconda 64bit Python с ArcGIS 10.1 64bit на Windows 7 / Windows Server. Некоторые из (или все) приведенных ниже советов могут относиться к любому другому дистрибутиву Windows для Python. Сначала установите anaconda, она должна перейти в каталог C: \ Anaconda. Установите флажок «сделать системный стандартный Python». Это может дать предупреждение, что установлен другой питон, но продолжайте. Затем:
Пути установки и переменные среды
Первое, что нужно сделать, это скопировать файл DTBGGP64.pth в новый дистрибутивный каталог ( C: \ Anaconda ) из C: \ Python27 \ ArcGISx6410.1 \ Lib \ site-packages . Именование является произвольным, но должно иметь расширение .pth. Это позволит вам импортировать ArcPy при использовании нового дистрибутива.
Примечание. Правильное расположение файла DTBGGP64.pth должно находиться в каталоге site-packages (например, C: \ Anaconda \ Libs \ site-packages ). Я обнаружил, что в некоторых старых версиях Anaconda он работает, если он находится в каталоге верхнего уровня.
Далее необходимо проверить переменные среды: в системной переменной Pathсуществующий путь к каталогу python должен быть заменен новым путем. (например, C: \ Anaconda; C: \ Anaconda \ Scripts; ) Это сообщит Windows, где находится каталог по умолчанию для python. Убедитесь, что переменная пользователя PYTHONPATH также верна. Это должно указывать на любые библиотеки вы хотите использовать, не описанные .pth файлов или установленные в сайте-пакетах . То есть это могут быть ваши собственные пакеты разработки или пакеты, такие как mapnik, которые имеют другое место установки.
Проверьте настройки реестра
На некоторых машинах этого может быть достаточно для того, чтобы вы могли использовать arcpy из нового питона и чтобы он мог использоваться в ArcGIS. На других машинах вам может понадобиться проверить ключи реестра. Следующие ключи реестра имеют настройки Python:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Должен быть один ключ и его 'значение должно быть C: \ Anaconda \ Lib; C: \ Anaconda \ DLLs
(или соответствующие папки для вашей установки на python)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
Ключ должен быть C: \ Anaconda
У вас могут быть установлены другие версии Python ... в этом случае измените номер версии в указанных выше путях
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Это расположение .ico-файла для использования .pyc-файлов
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
Эта команда запускается при открытии файла .pyc из оболочки. Вы должны изменить python.exe
путь к местоположению желаемой версии Python
HKEY_CLASSES_ROOT \ Python.File
Ключи здесь такие же, как и для Python.CompiledFile, за исключением того, что они применяются к файлу .py. Опять внесите соответствующие изменения. Может иметь дополнительный ключ для «Редактировать с IDLE» или «Редактировать с Pythonwin». Снова внесите соответствующие изменения, чтобы пути в этих ключах указывали на желаемую версию Python.
HKEY_CLASSES_ROOT \ Python.NoConFile
Они такие же, как для Python.File, но должны указывать на pythonw.exe
программу, где это необходимо.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1 PythonDir точки ключ к установке питона использования в ArcMap и т.д .. Вы можете для этого , чтобы остаться в качестве установки питона как установленный на ESRI, или указать его в новую установку. Это может потребовать других изменений, если вы укажете ArcMap на новую установку Python. Там могут быть проблемы с версиями пакетов (например , Numpy) , установленных новым распределением. Я не встречал ни одного.
Для большинства моих работ это не имеет значения, поскольку я обычно хочу использовать python самостоятельно и иногда иметь доступ к arcpy. Я редко хочу использовать python из arcmap. Поэтому я немного протестировал этот последний шаг, но, похоже, он работает для всего, что я пробовал до сих пор.
Я полагаю, что процесс установки Python (x, y) и т. Д. Будет аналогичным
Другие заметки
Содержимое файла .pth представляет собой список путей, указывающих на следующие папки в вашей установке ArcGIS: bin64, arcpy, ArcToolbox \ Scripts. Например, мой файл .pth содержит следующее:
C:\Program Files (x86)\ArcGIS\Desktop10.2\bin64
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts
Мое решение состоит в том, чтобы установить сценарий запуска, который устанавливает путь в зависимости от среды Python, которую вы используете. Этот метод имеет (огромное) преимущество в том, что вам не нужен доступ администратора для записи файлов .pth в установках python. Этот скрипт настроен на использование как 32-битной, так и 64-битной Anaconda и ArcGIS / arcpy.
источник
В случае, если кто-то пытается сделать это, используя ArcGIS Pro (т.е. с python 3 вместо python 2):
Я использую Spyder в пакете анаконды. Я получил это, перейдя в Инструменты> Интерпретатор Python в Spyder и указав Spyder на файл propy.bat, который в данный момент находится в C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ Scripts \ propy.bat.
Это активирует правильную версию Python в Spyder и позволяет импортировать arcpy.
источник
Я использую следующий код для настройки отдельной виртуальной среды , содержащей arcpy и ее зависимости:
источник