12

研究の免責事項:

私は次の他のStackOverflowの質問を調べました:

おそらく一部の人にとっては、それらが私の質問に答えるかもしれませんが、私の知識によれば、私はまだ状況を理解していません。

matplotlibが機能するようにnumpyをインポートしようとしてい__init__.pyますが、numpyフォルダー内のファイルを実行すると、次のエラーメッセージが表示されます。

ImportError: Error importing numpy: you should not try to import numpy from
    its source directory; please exit the numpy source tree, and relaunch
    your python intepreter from there.

他の方法でインポートするのではなく、ソースディレクトリから何かをインポートすることの意味を説明します。インポート時にソースコードであってはならないということですか?それとも、それは文字通り私がインポートしている間違ったディレクトリ/フォルダであることを意味しますか?StackOverflowのもう1つの答えは次のとおりです。

メッセージはかなり自明です。Pythonを呼び出すとき、作業ディレクトリはnumpyソースディレクトリであってはなりません。numpyをインストールし、作業ディレクトリはそれが存在するディレクトリ以外のものにする必要があります。

しかし、私にはわかりません。一緒にやりたいものをインポートするのではないですか?このステートメントでは、importコマンドがソースディレクトリを現在の作業ディレクトリに結合していると想定しています。

私はまた、次のような他の答えを読みました:

  • distutilsローカルディレクトリのインストールに使用

  • virtualenv仮想システムディレクトリの作成に使用

  • EnthoughtのEPDを使用して、システムディレクトリであると私が信じているものにnumpyをプリインストールし、

  • のようなコマンドを使用して$ dpkg -i --force-not-root --root=$HOME mypackagename.deb、システムディレクトリのように扱われるある種のサブシステムディレクトリであると私が信じているものを作成します。

だから、私が間違っている場合は私を訂正してください、しかしnumpyはどういうわけかメインシステムディレクトリに何らかの形でインストールする必要がありますか?

マシンのステータス:

管理者権限のないWindowsマシンを使用しています。Python3.3シェルとmatplotlibがインストールされています。コマンドプロンプトを実行しているとき、pythonpython3認識されません。アプリケーションメニューからPythonシェルを実行する必要があります。matplotlibのインポートは、自分のディレクトリとは異なり、自分のディレクトリからでも正常に開始できます__init__.pyが、numpyモジュールが存在する場合は到達すると停止し、上記のエラーが報告されます。

アップデート:

site-packages幸いなことに、私の管理者はnumpyをフォルダーに直接正しくインストールすることができました。でも私の質問に答えてくれてありがとう。あなたのおかげで状況はもっとよくわかります。

4

1 に答える 1

10

numpyには、Cで記述された拡張モジュールが含まれています。numpyパッケージが完成する前に、これらの拡張モジュールをビルドする必要があります。これを行う最も堅牢な方法は、site-packages通常のようにビルドしてインストールすることです。このための標準のdistutilsオプションを使用して、別のディレクトリにインストールすることもできます。ただし、インストールしたら、ソースツリーからディレクトリを変更する必要があります。Pythonは現在のディレクトリでパッケージの検索を開始するため、不完全なnumpyパッケージ(必要なビルドされたC拡張モジュールがない)の存在が最初に検出され、引用したメッセージのエラーが発生します。これは頻繁に発生するため、何をすべきかを説明する長いメッセージを提供します。

于 2013-01-28T22:53:03.997 に答える