2017-01-15 24 views
0

私はflopyというパッケージを使用するpythonスクリプトを持っています。私のスクリプトはfortran実行ファイルへの一連の入力を生成します。 Flopyはこれらをテキストファイルに書き込み、Fortran実行可能ファイルを呼び出します。これはテキストファイルを使用してモデルを実行します。Python 2.7サブプロセス

mac(OSX)を使用していて、python.orgからpython 2.7をダウンロードしました。つまり、AppleシステムバージョンのPythonを使用していません。私は次のように入力して、ターミナルウィンドウ(からそれを呼び出す場合は私が使用しているのpythonのバージョンでは、ライブラリ/フレームワーク/ Python.Frameworks/

に私は私のスクリプトを実行することができますされています

Python myscriptname.py 

をしかし、私は実行する場合IDLEを通して私のスクリプト(私はそれをダウンロードしたのpythonに付属版)は、それがエラーを返します:。

Traceback (most recent call last): 
    File "/Users/neilthomas/RotatedModel_v4_Tr_mfnwt.py", line 355, in <module> 
    success, mfoutput = mf.run_model(silent=False, pause=False) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/flopy/mbase.py", line 638, in run_model 
normal_msg=normal_msg) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/flopy/mbase.py", line 1034, in run_model 
stdout=sp.PIPE, stderr=sp.STDOUT, cwd=model_ws) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__ 
errread, errwrite) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child 
raise child_exception 
OSError: [Errno 2] No such file or directory 

ファイルは絶対に存在しない「mfnwt」私は私が何かを明らかに欠けていると確信している、しかし、ですIDLEがシェル/サブプロセスをシェルで実行できるようにするために必要なことがありますes?ありがとう。

+0

「ファイルは絶対に存在しない 『mfnwt』」...あなたはよろしいですか? – Rishav

+0

どのようにアイドル状態で実行しましたか?相対ファイル名を使用しますか?あなたの現在の作業ディレクトリは、あなたが思っているものではなく、相対パス名に影響します。それが何であるかを見るために 'os.getcwd()'を表示してください。 – tdelaney

+0

@Rishav:はい、上記のようにmfnwtファイルは存在します。私はTerminalを通して同じスクリプトを実行できます。 –

答えて

0

ここで問題となるのは、呼び出している特定のMODFLOW実行可能ファイル(あなたの場合は 'mfnwt')を特定する必要があることです。私はMODFLOW 2000のファイルと同じ操作を行います。あなたの場合

mf = flopy.modflow.mf.Modflow(modelname,namefile_ext='nam',version='mf2k',exe_name='/home/MODFLOW-and-related-codes/build-08/bin-windows/mf2k.exe') 

は、あなただけがあなたのMODFLOWファイルを格納している場所と一致するようにversion='mf2k'exe_name=pathを置き換え、同様の何かをするだろう。

さらなる詳細については、マニュアルを参照してください:https://modflowpy.github.io/flopydoc/mf.html