如何使用Rmarkdown中Python块中单独文件中定义的Python函数?

时间:2018-11-14 13:05:00

标签: python r-markdown

因此,我有一个名为“ function.py”的文件,其中包含简单的函数:

def square(x):
  return x*x

我还有第二点这样的代码:

from test import square
print(square(2))

如果我将第二段代码存储在python文件中并在终端中运行它,则它将起作用并给出预期的答案。

但是,如果我在Rmarkdown文档中添加这样的Python块:

```{python}
from test import square
print(square(2))
```

我得到了错误:

  

“追踪(最近一次通话过去):     在第1行的文件“ /var/folders/g7/462tmml173nfzj0j8437t9_m0000gn/T/RtmptMA22N/chunk-code-48764cec023f.txt”       从测试进口广场   ImportError:无法导入姓名方块”

Rmarkdown文件和python文件位于同一目录中。关于特定错误消息的答案是关于依赖关系的,但是我不认为这与我的情况有什么关系?

我已经在网上搜索并阅读了文档,但是我想我缺少了一些重要的东西。谢谢您的帮助!

编辑: 通过专门更改当前工作目录的路径来解决。

import sys, os
sys.path.append(os.getcwd())
import test
print(test.square(2))

1 个答案:

答案 0 :(得分:0)

通过专门更改当前工作目录的路径来解决。

import sys, os
sys.path.append(os.getcwd())
import test
print(test.square(2))

答案基于Python: Best way to add to sys.path relative to the current running script