クラスsubprocess
とともにモジュールを使用して、プロセスを作成および実行しようとしています。Popen
これまで、私は常に、必要なプログラムを呼び出すことに成功していました。
今、私はparaview
(バージョン3.8.1)をパラメータとして添付されたPythonスクリプトで呼び出そうとしています:
paraview --script=script.py
このコマンドをコンソールから実行すると、問題なく動作します。クラスで実行しようとするとPopen
、次のエラー メッセージで失敗します。
/home/woltan/local/lib/python2.7/site.py:157: Warning: 'with' will become a reserved keyword in Python 2.6
'import site' failed; use -v for traceback
/home/woltan/local/lib/python2.7/linecache.py:127: Warning: 'with' will become a reserved keyword in Python 2.6
/home/woltan/local/lib/python2.7/site.py:157: Warning: 'with' will become a reserved keyword in Python 2.6
'import site' failed; use -v for traceback
ERROR: In /home/kitware/Kitware/ParaView-3.8.1/source/Utilities/VTKPythonWrapping/Executable/vtkPVPythonInteractiveInterpretor.cxx, line 75
vtkPVPythonInteractiveInterpretor (0x124e9d0): Failed to locate the InteractiveConsole object.
Paraview自体が起動しています。しかし、paraview自体が使用しているpythonインタープリターを持っているという事実によるエラーメッセージですか? Popen
または、次のような呼び出しルーチンを微調整できますか。
p = subprocess.Popen("paraview --script=script.py", bufsize = -1, shell = True)
コンソールからプロセスを作成できるが、Popen
上記の -call では作成できないというのはどうしてでしょうか?
編集
Python 2.7が内部で実行されているparaviewバージョンをダウンロードしてインストールし(上記で使用したバージョンのpython 2.5ではありません)、呼び出しがPopen
機能します。したがって、これは paraview の python バージョンと関係があるに違いありません。残っている唯一の質問は次のとおりPopen
です。