我正在尝试通过R中的Shiny用户界面运行Python脚本。下面的代码可以运行它。 (我通过task1.py
中的 Shiny 用户界面成功运行了server.R
)。但是由于目录问题,我收到了错误消息。
文件夹路径:
D:\PycharmProjects\Tasks\applications\task1.py
D:\PycharmProjects\Tasks\server.R
D:\PycharmProjects\Tasks\case1\application_core.py
server.R:
observeEvent(input$action,{
py_run_file("applications/task1.py")
})
task1.py:
import sys
import os
from case1.application_core import AcousticScene
运行server.R
时出现错误
Warning: Error in py_run_file_impl: ModuleNotFoundError: No module named 'case'
76: <Anonymous>
请不要将此问题标记为重复,我在R中而不是在Python中得到。 task1.py
在Pycharm中没有错误,并在其中成功运行。有人知道我该如何解决?
答案 0 :(得分:1)
您会看到baseline\case1\application_core.py
与工作目录和task.py
位于不同的目录中。因此,假设baseline
不在您的PYTHONPATH
中,那么如果您想让task.py
see \baseline\case1\application_core.py
模块,则可以使用relative imports。>
from ...baseline.case1.application_core import AcousticScene