2013-01-14 12 views
9

このトピックの他の多くの質問/回答を調べましたが、役に立たないです。ライブラリの読み込みの問題 - "ImportError:No __というモジュール"

私はpipを使用してnumpyとnltkをダウンロードしました。インストール場所は、 Requirement already satisfied (use --upgrade to upgrade): nltk in /usr/local/lib/python2.7/site-packagesなので、バージョン2.7のディレクトリにインストールされているようです。

私がpythonを実行したとき、私はPython 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43)を得ました。明らかにバージョン2.7です。

しかし、Pythonコンソールで「import nltk」または「numpyをインポート」しようとすると、私はいつもImportError: No module named nltkエラーを受け取ります。どんなアドバイスも大歓迎です!

+1

あなたは複数のpythonインストールをしているようですが、「nltk」は「もう1つのpython」にインストールされています。 'PYTHONPATH'の変更は醜いトリックです。この回答を見て、それがあなたの状況であるかどうかを見てください:http://stackoverflow.com/a/12206868/565999 –

答えて

17

PYTHONPATH環境変数を変更してみてください。あなたがBASHを使用している場合、以下が動作するはずです。他のLinuxシェルでは、環境変数の割り当て方法が若干異なります。

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages 
+2

魅力のように働いて、ありがとう! – NeelPatel

+0

私は.../dist-packagesをエクスポートして、nltkとその他のパッケージをPythonターミナルからアクセスできるようにしなければなりませんでした。このヒントをありがとう。 –

+0

PYTHONPATHを変更しても、python34 C:\ Python34 \ Lib \ site-packages(パスはsys.path:print pthのimport sys のpthで表示されていましたが、何とかpythonpathを編集するまで機能しませんでした – JinSnow

9

問題は/usr/local/lib/python2.7/site-packagesがデフォルトのパスリストにないことです。これを確認するには、次のコマンドを実行してください。

モジュールを検索するディレクトリのリストが表示されます。あなたはおそらく、リスト内の/usr/local/lib/python2.7/site-packagesを持っていないとして、次のオプションがあります。

  1. nltkを削除し、ディレクトリ・パス(ノート、Debianの上でその例の一つに、再びそれをインストールし、それが/usr/local/lib/python2.7/dist-packagesかもしれ

    。各実行で
  2. 、設定PYTHONPATH変数:export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages(あなたが$HOME/.bashrcファイルにこのコマンドを置くことができる)

  3. /usr/lib/python2.7/site-packagesまたは/usr/lib/python2.7/dist-packagesでファイルlocal.pthを入れ上記のスクリプトの出力に応じて、次のように1行で入力します。

    /usr/local/lib/python2.7/site-packages 
    

    これは、このディレクトリをデフォルトのパスリストに永久に追加します。

  4. (この1だけおそらくあなたのケースではありませんいくつかの奇妙な場所に設置し、いくつかのほとんど使用しない非標準のパッケージのために推奨されます)、スクリプトの先頭で(import nltk前)は、次のコードを追加します

    import sys 
    sys.path.append("/usr/local/lib/python2.7/site-packages") 
    
関連する問題