[英]Error running python script in RStudio and shiny app using reticulate
我有一個 python 腳本,其中我使用“adtk”package 定義了一個 function。 使用網狀,我從 R 調用我的 function 並將其應用於一些數據。 這完全沒有錯誤。 但是,當我嘗試在 shiny 應用程序中做完全相同的事情時,它給了我以下錯誤:模塊 adtk 沒有屬性轉換器!
RStudio代碼片:
library(reticulate)
use_condaenv('my_conda_env')
source_python("my_python_script.py")
Python 腳本:
import adtk
def my_func():
adtk.transformer.DoubleRollingAggregate()
...
聽起來在本地運行您的代碼可能會無意中使用您的系統 Python (及其 adtk 包),而不是使用您的 conda 環境,它可能缺少 adtk 和/或其某些模塊。
當您運行library(reticulate)
時,網狀 package 將嘗試初始化其最佳猜測版本的 Python,這可能不是您打算使用的版本。 由於 Python 已經為您的 session 初始化,之后運行use_condaenv('my_conda_env')
可能會被忽略。 (您可以通過嘗試運行use_condaenv('my_conda_env', required = TRUE)
來測試它,而不是查看是否收到類似於以下內容的錯誤: The requested version of Python (<conda env python path>) cannot be used, as another version of Python (<system python path>) has already been initialized.
)
要強制您的代碼在您的 conda 環境中運行,請重新啟動 R session 並運行reticulate::use_condaenv('my_conda_env', required = TRUE)
。 通過運行reticulate::py_config()
確認正在使用環境。
您可以通過查看已安裝的軟件包來仔細檢查您的 conda 環境中是否安裝了正確版本的 adtk。 最后,確保在您運行 Shiny 應用程序的系統上支持 conda(例如, 在 shinyapps.io 目前不支持 conda ,但您可以改用 virtualenv。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.