Есть ли конкретный c способ настроить python для R [сетка]? - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь выполнить / вызвать .py скрипт из моего ShinyApp, но без особого успеха. Я последовал советам репо и установил следующую переменную среды в .Renviron:

RETICULATE_PYTHON = "D \ Miniconda \ envs \ myenv"

Этот параметр позволяет мне обойти SYSENV, который устанавливает более низкую версию Python. После установки возвращается следующий вывод:

library(reticulate)
R> py_config()
python: D:\Miniconda\envs\myenv\python.exe
libpython: D:/Miniconda/envs/myenv/python36.dll
pythonhome: D:\Miniconda\envs\myenv
version: 3.6.9 |Anaconda, Inc.|...
....

Однако, когда я пытаюсь выполнить conda_binary() или use_condaenv(), я получаю следующую ошибку:

R> conda_binary()
Error: Unable to find conda binary. Is Anaconda installed?

Я есть " предположив, "это то, что вызывает сбой моего скрипта в приложении, см. полный код ниже:

ui<-fluidPage(
  titlePanel('Sample IRI'),

  sidebarLayout(
    sidebarPanel(
      fileInput(
        inputId = "file1",
        label = "Upload Image")

      shinyjs::hidden(shinyWidgets::actionBtn(
        inputId = "varBtn1",
        label = "Initialize image encoding",
        color = "success",
        style = "material-flat")),

        tags$hr() ),

      mainPanel(
        shinyjs::useShinyjs(),
        textoutput("filename"),

        imageOutput(outputId = "varImage")
)
)
)

#### server.R

server<-function(input,output,session) {
  re1<-reactive({gsub("\\\\","/",input$file1$datapath)})

  pyFile<-reactive({
    inFile<-input$file1
    inName<-inFile$name
    inName })

  observeEvent(input$file1, {
    inFile<-input$file1

    if(is.null(inFile))
      return()
    file.copy(inFile$datapath,file.path("C:/R/Apps/MyApp/user_upload"),inFile$name))

    output$varImage<-renderImage(
      {list(src = re1())})

    output$filename <- renderPrint({
      visFun<-input$file1$datapath
      print(visFun) })

    shinyjs::show(varBtn1)
})

    observeEvent(input$varBtn1, {
      img<-pyFile()
      use_condaenv("myenv")
      py_run_file("D:\Miniconda\envs\myenv\encode_image.py)

      #enconde_image.py defines the function `ImageApp`

      out<-py$ImageApp(img)
})

Возврат ошибки:

Warning: Error in: Unable to find conda binary. Is Anaconda installed?

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...