knitr - 导入python模块时出错

时间:2015-05-11 16:30:05

标签: python r knitr sys reproducible-research

我在knitr中运行python引擎时遇到了麻烦。我可以导入一些模块而不是其他模块。例如,我可以导入numpy但不能导入pandas。

{r, engine='python'} import pandas

我收到了错误。

Quitting from lines 50-51 (prepayment.Rmd) 
Error in (knit_engines$get(options$engine))(options) : 
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named pandas
Calls: <Anonymous> ... process_group.block -> call_block -> block_exec -> in_dir -> <Anonymous>
In addition: Warning message:
running command ''python'  -c 'import pandas' 2>&1' had status 1 
Execution halted

它必须与系统路径和我指向的位置有关。

通常在IPython中使用

import sys
sys.path.append('/path/to/directory/')

添加路径。我不知道问题是什么。

2 个答案:

答案 0 :(得分:4)

使用:

{python engine.path="C:/anaconda/python.exe"}
import pandas

C:/anaconda/python.exe更改为您的python路径。

答案 1 :(得分:0)

在Atom中,这也发生在我身上。

检查并确保两个文件位于同一目录中。将它们放在相同的文件夹或路径中。

然后,进入终端或命令行并输入

cd Downloads

(或文件所在的大目录)。然后,键入较小的文件夹,例如:cd _____,例如cd animals。在那里,您可以通过键入python3 -i ____.py(文件名)来打开要导入另一个文件的一个文件。确保文件具有from ___(master file) import *,并且可以在终端中运行代码。

这应该有效。问题是您无法通过运行代码导入。相反,您必须使用终端或命令行将两者链接起来。