我使用Ubuntu 16.04。我试图从R运行一个简单的Python脚本。脚本是Python脚本在bash中工作,但不通过系统从R调用
import numpy as np
x=1
print(x)
并写入一个名为code.py的文件中。如果我通过
python3.5 code.py
调用它在bash然而,当我通过
system("python3.5 code.py",intern=TRUE)
称之为R中我得到一个消息,指出numpy的没有被发现,它工作正常。任何想法为什么有这种差异,我怎么能解决这个问题?
谢谢!
UPDATE
如果我运行
import sys
print(sys.path)
一个文件,我得到
[1] "['/home/user/Desktop', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']"
如果我运行从R上的文件,并
['/home/user/Desktop', '/home/user/anaconda3/lib/python35.zip', '/home/user/anaconda3/lib/python3.5', '/home/user/anaconda3/lib/python3.5/plat-linux', '/home/user/anaconda3/lib/python3.5/lib-dynload', '/home/user/anaconda3/lib/python3.5/site-packages', '/home/user/anaconda3/lib/python3.5/site-packages/Sphinx-1.4.1-py3.5.egg', '/home/user/anaconda3/lib/python3.5/site-packages/setuptools-23.0.0-py3.5.egg']
如果我从命令行运行该文件。
将此添加到您的程序中,并查看它是否根据上下文产生不同的输出:'import sys print(sys.path)' – RPGillespie
它表示Traceback(最近调用最后一次): 文件“test.py”,第4行,在中 import numpy as np ImportError:No module named'numpy' [1]“['/ home/user/Desktop','/usr/lib/python35.zip','/ usr/lib /python3.5','/usr/lib/python3.5/plat-x86_64-linux-gnu','/usr/lib/python3.5/lib-dynload','/ usr/local/lib/python3。 5/dist-packages','/ usr/lib/python3/dist-packages'] attr状态1 –
madness
用这两行创建一个新的python文件。在R和命令行中运行并比较输出。 – RPGillespie