1

我正在尝试使用以下方法在 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使用不同的机器吗?

4

1 回答 1

1

尝试让您的 DefaultExecutor 运行"python -v",看看它是否给您任何提示。也许Java出于某种原因使用了错误的python版本。

或尝试运行:

DefaultExecutor executor = new DefaultExecutor();
String s = "python  \"import sys; print sys.executable\""
executor.execute(s);

这可能允许您查看正在使用的 python Java 版本。

于 2013-10-08T22:18:48.153 回答