私はPythonプログラムからサブプロセスからキックオフしてPythonスクリプトを実行しようとしています(理由は、スクリプト実行時にメインプログラムが終了していなければならず、wx .CallAfterおよびClose)。しかし、スクリプトが実行されるとき、私はImportError: No module named os
で1行目にエラーを表示します。これはPythonPathと何か関係があると思いますが、端末からスクリプトをうまく実行できます。サブプロセス実行時にインポートエラーが発生する
このように実行すると、スクリプトにコアモジュールが表示されないのはなぜですか?
編集: 問題の行は次のとおりです。
wx.CallAfter(subprocess.Popen,'python %s "%s" %s %s'%(os.path.join(BASE_DIR,"updatecopy.py"),BASE_DIR,pos[0],pos[1]),shell=True)
BASE_DIRがちょうどたぶんあなたの代わりにpopenののos.execv
を使用することができますに
subprocess.Popen(...)を単に実行しているのと同じ問題がありますか? –
'os'はほとんどのバージョンのpythonの組み込みモジュールです。それがインポートできないという事実は、おそらく通訳者が辞任しているという印です。その動作を示す完全なスクリプトの例を教えてください。 – SingleNegationElimination