2012-06-29 2 views
0

Я пытаюсь запустить скрипт 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

ответ

0

Хорошо хорошо просто понял это ... довольно простые

system('C:\\Python26\\ArcGIS10.0\\python.exe Checkpythonverion.py') 

возвращается:

2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)]