numpy関数を使用するスクリプトを含むPythonファイルがあります。
IPythonにはすでにnumpyがロードされていると思ったので、次の場合にファイルにnumpyをインポートしませんでした。
%run my_python_file.py
からの不明な関数が原因で失敗しますnumpy
。
だから、私の質問はそれです:
IPythonによってすでにインポートされているモジュールを使用してPythonファイルでスクリプトを実行する方法はありますか?
どうもありがとう!
numpy -pylabインタラクティブシェルを使用している場合は、
run -i script.py
あなたが求めているもののために。これには、Pythonスクリプト内のグローバル変数を保持(または上書き)するという副作用があります。基本的に、ipythonは、ファイルを手動で入力したかのように動作します。
おそらく、これを行う最も有用な理由は、ipythonセッションで作成された他の変数を参照できることです。たとえば、スクリプトの実行間で手動で変更することができます。
簡単な例として、script.pyが
AA = np.array([[1,2],[3, myVar]])
print AA
次に、ipythonでは
In [1]: myVar = 7
In [2]: run -i script.py
[[1 2]
[3 7]]
In [3]: myVar = 17
In [4]: run -i script.py
[[ 1 2]
[ 3 17]]
In [5]:
さて、私があなたを正しく理解していれば、あなたがLinuxを実行していると仮定すると、あなたは次のようなことをすることができます:
#!/usr/bin/ipython --pylab=tk
print(numpy.sin(0.5))
#の行!スクリプトに、それを実行するために使用するプログラム(およびオプション)を示します。numpy行は、それが機能することを示すための単なる例です。tkをQt4または同様のものに置き換える必要があるかもしれません。
次に、このファイルに対してコマンドchmod + x(UNIXマシンを使用していると想定)を実行して、実行可能にして実行する必要があります。
本当の問題は、なぜスクリプトにnumpyをインポートしないのかということです。あなたがおそらくあなたがあなたの問題に対する最良の解決策を見つけるのを手伝うことができるとあなたが説明するならば。
%import numpy
%run my_python_file.py
または私はあなたの質問を誤解しています。