3

numpy関数を使用するスクリプトを含むPythonファイルがあります。

IPythonにはすでにnumpyがロードされていると思ったので、次の場合にファイルにnumpyをインポートしませんでした。

%run my_python_file.py 

からの不明な関数が原因で失敗しますnumpy

だから、私の質問はそれです:

IPythonによってすでにインポートされているモジュールを使用してPythonファイルでスクリプトを実行する方法はありますか?

どうもありがとう!

4

3 に答える 3

5

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]: 
于 2012-08-20T22:50:32.723 に答える
1

さて、私があなたを正しく理解していれば、あなたがLinuxを実行していると仮定すると、あなたは次のようなことをすることができます:

#!/usr/bin/ipython --pylab=tk
print(numpy.sin(0.5))

#の行!スクリプトに、それを実行するために使用するプログラム(およびオプション)を示します。numpy行は、それが機能することを示すための単なる例です。tkをQt4または同様のものに置き換える必要があるかもしれません。

次に、このファイルに対してコマンドchmod + x(UNIXマシンを使用していると想定)を実行して、実行可能にして実行する必要があります。

本当の問題は、なぜスクリプトにnumpyをインポートしないのかということです。あなたがおそらくあなたがあなたの問題に対する最良の解決策を見つけるのを手伝うことができるとあなたが説明するならば。

于 2012-08-20T22:28:15.933 に答える
0
%import numpy
%run my_python_file.py 

または私はあなたの質問を誤解しています。

于 2012-08-21T01:25:56.560 に答える