我尝试使用运行在Java程序中一个Python脚本:为什么我在从java执行系统调用时应该安装的python中缺少一个模块?
DefaultExecutor executor = new DefaultExecutor();
String s = "python -c \"import argparse; print argparse\""
executor.execute(s);
,但得到的错误消息:
"import argparse ImportError: No module named argparse\n"
这个Python模块将自动安装在Python 2.7+
当我刚刚从终端运行它时,该命令正常工作:
$python -v
Python 2.7.1
$python -c "import argparse; print argparse"
<module 'argparse' from '/usr/local/lib/python2.7/argparse.pyc'>
它为什么不从java程序工作?是DefaultExecutor
使用不同的机器?
python的verison是Java运行的吗?它是不同的版本,或其他env vars设置不同? –
我该如何检查? – Popcorn
好的问题解决了,问题是我试图以root用户身份运行java程序 – Popcorn