私が作成しているスクリプトの場合、クロスプラットフォームで確認する方法が必要です。
- javaがインストールされている場合。
- スクリプトが実行されているプラットフォーム(例:windows/amd64またはlinux/x86)
Pythonで。どうすればこれらの両方を行うことができますか。
編集:プラットフォームモジュールは2番に最適ですが、バージョンではなくJavaがインストールされているかどうかを確認する方法が推奨されます。
JavaがPythonを介してシステムにインストールされているかどうかを判断する方法の複製ですか? 特に、チェックすべきではないという2番目の答えに同意します。依存関係を文書化し、パッケージマネージャーにインストールしてもらう必要があります。Windowsでは、ユーザーに自分でインストールしてもらいます。
プラットフォームモジュール。
Javaがインストールされているかどうかを確認するために使用できます
def run_command(command):
p = subprocess.Popen(command,
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT)
return iter(p.stdout.readline, b'')
out = list(run_command("java -version"))
シェルコマンドの実行と出力のキャプチャでvartecから
java-versionを試して実行することをお勧めします。javaを適切にインストールすると、LinuxとWindowsの両方のパスにJavaが追加されます(したがって、javaコマンドラインはファイルシステムの「どこからでも」実行できます)。
たとえば、これが実行したときの結果です
java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)