Python 使用';网状';R中的函数
在调用网状函数的单个R脚本中运行两个连续的python脚本时出现问题。当我分别运行它们时,它工作得非常好。我错过什么了吗?我是否需要某种函数在执行第二个py_运行之前关闭上一个py_运行?请注意,我使用的是ArcGIS“arcpy”工具 这里有一个例子。 如果我在Rstudio会话中运行此命令:Python 使用';网状';R中的函数,python,r,arcpy,reticulate,Python,R,Arcpy,Reticulate,在调用网状函数的单个R脚本中运行两个连续的python脚本时出现问题。当我分别运行它们时,它工作得非常好。我错过什么了吗?我是否需要某种函数在执行第二个py_运行之前关闭上一个py_运行?请注意,我使用的是ArcGIS“arcpy”工具 这里有一个例子。 如果我在Rstudio会话中运行此命令: use_python("C:/Python27/ArcGISx6410.7/python.exe", required = T) import("arcpy")
use_python("C:/Python27/ArcGISx6410.7/python.exe", required = T)
import("arcpy")
import("os")
import("glob")
import("re")
import("math")
pythonRun1 = paste0("modelName = ", "'", modelName, "'")
py_run_string(pythonRun1)
py_run_file("C:/GIS/Bathymetry_UdeM/Radial_Linear_Mean_R/Output/Workflow/InterpolateResults.py")
use_python("C:/Python27/ArcGISx6410.7/python.exe", required = T)
import("arcpy")
import("arcpy.sa")
import("os")
import("glob")
import("re")
import("math")
pythonRun2 = paste0("modelName = ", "'", modelName, "'")
py_run_string(pythonRun2)
py_run_file("C:/GIS/Bathymetry_UdeM/Radial_Linear_Mean_R/Output/Workflow/FocalMean.py")
然后在第二次Rstudio会话中:
use_python("C:/Python27/ArcGISx6410.7/python.exe", required = T)
import("arcpy")
import("os")
import("glob")
import("re")
import("math")
pythonRun1 = paste0("modelName = ", "'", modelName, "'")
py_run_string(pythonRun1)
py_run_file("C:/GIS/Bathymetry_UdeM/Radial_Linear_Mean_R/Output/Workflow/InterpolateResults.py")
use_python("C:/Python27/ArcGISx6410.7/python.exe", required = T)
import("arcpy")
import("arcpy.sa")
import("os")
import("glob")
import("re")
import("math")
pythonRun2 = paste0("modelName = ", "'", modelName, "'")
py_run_string(pythonRun2)
py_run_file("C:/GIS/Bathymetry_UdeM/Radial_Linear_Mean_R/Output/Workflow/FocalMean.py")
它工作得很好。但当我试图连续执行这两个代码块时:
use_python("C:/Python27/ArcGISx6410.7/python.exe", required = T)
import("arcpy")
import("os")
import("glob")
import("re")
import("math")
pythonRun1 = paste0("modelName = ", "'", modelName, "'")
py_run_string(pythonRun1)
py_run_file("C:/GIS/Bathymetry_UdeM/Radial_Linear_Mean_R/Output/Workflow/InterpolateResults.py")
#########################################################################################################
use_python("C:/Python27/ArcGISx6410.7/python.exe", required = T)
import("arcpy")
import("arcpy.sa")
import("os")
import("glob")
import("re")
import("math")
pythonRun2 = paste0("modelName = ", "'", modelName, "'")
py_run_string(pythonRun2)
py_run_file("C:/GIS/Bathymetry_UdeM/Radial_Linear_Mean_R/Output/Workflow/FocalMean.py")
我得到noData作为我的最终输出。从技术上讲,脚本的第二部分不会回调任何错误,但代码不会执行它应该执行的操作
有人知道这两种方法(即,单独和连续的py_运行执行)之间的差异是什么原因吗
谢谢大家 试着构造一个。如果不能运行代码,很难回答这样的问题。不过,这里有几个故障排除的起点
netracite::use_python
。我的理解是,一旦Python解释器嵌入到R会话中,它就无法更改,因此,当第二次调用它时,充其量它可能没有效果,最坏的情况下,它可能会导致问题model_name
的代码,是否应该在两个代码块之间更改该值netracite::use_python
。我的理解是,一旦Python解释器嵌入到R会话中,它就无法更改,因此,当第二次调用它时,充其量它可能没有效果,最坏的情况下,它可能会导致问题model_name
的代码,是否应该在两个代码块之间更改该值祝你好运 我不熟悉R-Python接口,但可能需要延迟吗?如果直接在Python会话中运行类似代码,它是否正常工作?我不熟悉R-Python接口,但可能需要延迟吗?如果直接在Python会话中运行类似代码,它是否正常工作?