2つのインストールがあります:1つはラップトップに、もう1つはSLURMインストールです。私はPythonの関数で相対パスを設定したいので、gitからpullして実行できます。サブプロセスの相対java-classpathを設定します
問題:私のjarファイルはサーバー上で私のラップトップ上の
/Users/me/libs/jena/lib/*
または~/libs/jena/lib/*
にし、/home/user/me/libs/jena/lib/*
または~/libs/jena/lib/*
です。
os.path.join(os.path.dirname(__file__),'../../libs/jena/lib/*')
も気付いており、直接設定すると~/path/
が動作しません。
何私は細かいos.path.join
作品でシェバングスクリプトを実行しているが、同様にクラスパスを設定しているパズル:
cmd = ["java", "-cp", os.path.join(os.path.dirname(__file__),'../../libs/jena/lib/*')"+":.", java_file, args]
proc = Popen(cmd, stdout=PIPE, stderr=PIPE)
は動作しません。あなたの助けのための
おかげ
'Popen'は' env'引数を受け取ります。これは環境変数を含むdictです。 'os.environ'(現在の環境)をコピーし、そこに' CLASSPATH'を追加することができます。 – alexpeits