我使用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