Я пытаюсь запустить скрипт python из R. Это достаточно легко сделать.Вызов Python из R, для использования ArcMap требуется Python 26
system('python Checkpythonverion.py')
файл: Checkpythonverion.py
import sys
print (sys.version)
возвращается:
2.7.2 |EPD 7.1-2 (64-bit)| (default, Jul 3 2011, 15:34:33) [MSC v.1500 64 bit (AMD64)]
Однако, когда я запускаю код, который вызывает модуль arcpy (с) ArcGIS
файла: Pythoncode. py
import arcpy
arcpy.env.workspace = r"C:\Student\PythonDesktop10_0\Data\Westerville.gdb"
fc = "Streets"
distanceList = ["100 meters", "200 meters", "400 meters"]
for dist in distanceList:
outName = fc+"_"+ dist[1]
arcpy.Buffer_analysis(fc,outName,dist)
print " Finished Buffer"
Возвращает
system('python PythonScript.py') Traceback (most recent call last): File "PythonScript.py", line 1, in import arcpy ImportError: No module named arcpy Warning message: running command 'python PythonScript.py' had status 1
я знаю причину. Дуговая дуга Arcmap работает только в python26. Проблема в том, как я могу изменить версию python по умолчанию, вызванную системой. Я попробовал несколько вещей, в том числе: изменение HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ окружающей среды
от: C: \ python27 \ python.exe» "% 1" % *
до: C: \ Python26 \ ArcGIS10.0 \ python.exe» "% 1" % *
Хотя и изменения пользователем переменной окружения "Path"
от: C: \ python27 \; C: \ Python27 \ Scripts
к: C: \ Python26 \ ArcGIS10.0 \; C: \ \ python27 Сценарии
После чего из R:
>system('python Checkpythonverion.py')
все еще возвращает:
2.7.2 |EPD 7.1-2 (64-bit)| (default, Jul 3 2011, 15:34:33) [MSC v.1500 64 bit (AMD64)]
Мысли? Было бы здорово, если бы я мог вызвать версию python, которую я хотел получить из командной строки R. Например, system ('python26 file.py'). Запуск: Windows 7, R 2.15.1 установлен: Python 25,26,27