keras - 在 R 中部署闪亮的应用程序时出现问题。使用带有网状结构的虚拟环境在应用程序中运行 python 代码。错误——虚拟环境:权限被拒绝
问题描述
我正在使用 R 在 Shiny 中创建一个应用程序。我在 python 中有一个模型,我在应用程序中使用它,所以我使用reticulate
包来运行它,并在与应用程序相同的文件夹中使用虚拟环境来访问python3
。它在本地工作得很好,但是一旦我部署它,我就会在日志中看到一个错误,上面写着
venv/bin/python:权限被拒绝
(venv 是我的虚拟环境)。
我尝试添加一个.Rprofile
包含source venv/bin/activate
. 此外,如果有帮助,Python 组件将使用该keras
包。我还将所有必要的包下载到我的虚拟环境中。
我也运行use_python("venv/bin/python", required = TRUE)
,而不是在reticulate::use_virtualenv("venv", required = TRUE)
本地也可以运行,但是一旦我部署它,我就会遇到上述相同的错误。
解决方案
这已经解决了!解决方案是创建虚拟环境并在 R 代码文件中下载必要的包。如果其他人也有同样的问题,这里是设置 python 虚拟环境以便能够部署到 shinyapps.io 的相关代码:
virtualenv_create(envname = "python_environment", python= "python3")
virtualenv_install("python_environment", packages = c('keras', 'pandas','numpy','scipy','scikit-learn', 'tensorflow'))
reticulate::use_virtualenv("python_environment", required = TRUE)
为清楚起见,特定的包正是我的 python 代码所需要的。
此外,如果您收到以下错误消息,您可能需要运行(然后注释掉以进行部署)以下行以使用旧版本的 rsconnect:reticulate is in use, but python was not specified
devtools::install_github("rstudio/rsconnect", ref='737cd48')
推荐阅读
- php - 时间重排逻辑
- airflow - 当 DAG 的 start_date 是过去时会发生什么?
- java - 从 JUnit 测试中读取和写入 XML 文件
- cmd - 可以使用 CMD 按需关闭特定端口吗?
- reactjs - 带有退出属性的问题 - 成帧器运动
- apache-camel - configure() 在骆驼中完成操作后如何执行操作?
- node.js - @aws-sdk/client-lambda] - 调用 Lambda - Unit8Array 中的有效负载响应 - 转换为字符串
- python - 单击重试按钮时无法关闭 pygame 窗口
- python - 我的函数只显示我的数据库中的一个元组,我怎样才能让它显示所有这些?
- javascript - 如何始终像 Modalbox 一样在屏幕中心打开引导弹出窗口?