26

私はscipyを使い始めようとしていますが、パッケージによっていくつかの問題が発生します。チュートリアルはscipy.ioに大きく依存していますが、scypiをインポートしてscipy.ioを使用しようとすると、エラーが発生します。

In [1]: import scipy

In [2]: help(scipy.io)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/chris/dev/scipy/<ipython-input-2-ef060398b31c> in <module>()
----> 1 help(scipy.io)

AttributeError: 'module' object has no attribute 'io'

システムアップデートを実行し、scipyをアンインストールしてから、再度インストールしました。

興味深いことに、次の方法でモジュールをインポートできます。

In [1]: import scipy.io

しかし、それを使用しようとすると、メソッドを使用するとすぐにエラーが発生します。

In [2]: arr = scipy.array([[1.0,2.0],[3.0,4.0],[5.0,6.0]])
In [3]: outFile = file('tmpdata1.txt', 'w')
In [4]: scipy.io.write_array(outFile, arr)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/chris/dev/scipy/<ipython-input-4-46d22e4ff485> in <module>()
----> 1 scipy.io.write_array(outFile, arr)

AttributeError: 'module' object has no attribute 'write_array'

恥ずかしいほど基本的なものが欠けていると確信していますが、Googleやstackoverflowアーカイブでこの問題の答えを見つけることができませんでした。

4

1 に答える 1

35

ここに2つのことがあります。まず、一般に、パッケージ内のモジュールにアクセスしてimport packageからアクセスを試みることはできませんpackage.module。多くの場合、自分がしたことを実行する必要があります、、、または(常にimport package.module入力したくない場合は、実行できます。したがって、実行することもできます。package.modulefrom package import modulefrom scipy import io

第二に、scipy.ioモジュールは機能を提供しませんwrite_array。たぶん以前のように見えますが、彼らはそれを取り除きました。あなたは時代遅れのチュートリアルを見ているかもしれません。(どのチュートリアルを使用していますか?)グーグルでsavetxt見てみると、代わりにnumpyの関数を使用するように提案されているようですので、調べてみてください。

于 2012-06-23T20:20:28.140 に答える