私は画像フォーマットを変換するためのPythonスクリプトを呼び出す次のコードはKeyError例外
public int fitsToJpg(String imagePath) throws IOException, InterruptedException{
String jpegFile = newJpegFileFullPath(imagePath);
String pythonPath = copyPythonFile();
Runtime r = Runtime.getRuntime();
String pythonExeString = String.format("python %s %s %s",pythonPath,imagePath, jpegFile);
Process p = r.exec(pythonExeString, new String[]{}, new File(System.getProperty("user.dir")));
if(p.waitFor() != 0) {
LoggingServices.createWarningLogMessage(IOUtils.toString(p.getErrorStream(), "UTF-8"), LOGGER);
return 1;
}
return 0;
}
を持って生産しました。私が持っている問題は、このコードを実行すると次のエラーが発生するということです。
File "/home/scinderadmin/lib/dist/fits2jpg.py", line 2, in <module>
import cv2
File "/usr/lib64/python2.7/site-packages/cv2/__init__.py", line 5, in <module>
os.environ["PATH"] += os.pathsep + os.path.dirname(os.path.realpath(__file__))
File "/usr/lib64/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'PATH'
Pythonコードを直接実行するとすべて動作します。私はこれが環境と関係していると思いますが、私が間違ってやっていることを理解することはできません。どんな提案も歓迎されます。私はgnu Linux環境でこれを実行しているところで、 です。 Runtime.exec()
に
おかげで、
ES
面白いことに、私は第3の引数を調べましたが、第2の引数は検索しませんでした。 – Goozo