В Shiny, Виртуальная среда Python ОТКАЗ В РАЗРЕШЕНИИ (Ошибка 126) - PullRequest
0 голосов
/ 02 июня 2018

Мы создаем приложение пользовательского интерфейса (прогнозирование непрерывной переменной с помощью модели машинного обучения) с помощью R Shiny.Поскольку мы создали модель машинного обучения в модуле sklearn в Python3, мы надеемся, что сможем написать коды Python в R Shiny для вызова этой модели и соответствующих функций.

Мы использовали R-пакет «reticulate» для создания виртуальной среды Python.где он будет сохранять пакеты python и через который мы могли бы вызывать функции python3.

Мы создали виртуальную среду, используя следующую строку кода (функция в пакете R "reticulate")

use_virtualenv("env", required = TRUE)

Там, где у нас действительно есть следующий каталог "env / bin", в котором есть python и python3 для выполнения.

Блестящее приложение прекрасно работало локально.ОДНАКО, когда мы предпринимали попытки публикации, она выдавала следующую ошибку (см. Рисунок) (после успешного развертывания приложения и на shinyapps.io сообщалось, что приложение запущено).

Проблема была «Ошибка 126», которая не позволила нашему приложению получить доступ к виртуальной среде.У этой проблемы не было предыдущего (аналогичного) случая со Stackoverflow, и поэтому мы потратили много времени на отладку (проблема не решена).

Если кто-нибудь знает, как решить эту проблему, сможете ли вы отметить свои советы по решению ниже?(Мы надеемся, что ваше решение не изменит наш основной макет, то есть «вызов модели, созданной на Python, в Shiny и публикация через Shiny») Мы очень ценим ваши усилия, чтобы выручить нас!

Большое вам спасибо!

1 Ответ

0 голосов
/ 22 июня 2018

Не могли бы вы поделиться кодом, где осуществляется фактический вызов скрипта Python?это функция модуля Python, которую вы вызываете из Rshiny?что делает и возвращает модуль / функция python?Я использовал сетку внутри блестящего для вызова скриптов Python, и она отлично работает.Не требует настройки среды.Просто предоставьте исходный код для скрипта Python и вызовите его, как и любую другую функцию R.

...