なぜうまくいかないのだろうか。問題のように見えますsys.path
が、構成なしで動作するはずです。しかし、力ずくで修正するためのいくつかのアイデアがあります。
(1) 次のスクリプトを実行して、numpy のロード パスを取得します。
import os
import numpy
print(os.path.dirname(os.path.dirname(numpy.__file__)))
(2)jedi:server-args
パスを強制的に追加するには、このように設定します。
(setq jedi:server-args
'("--sys-path" "THE/PRINTED/PATH/FOR/NUMPY"
"--sys-path" "THE/PRINTED/PATH/FOR/SCIPY"))
参照: http://tkf.github.com/emacs-jedi/#jedi:server-args
編集 1
@syohex の回答に関するコメントを読むと、いくつかのインストール方法を混同しているようです。jeid.el は、jedi.el があるディレクトリ内の virtualenv "env/" を使用します (存在する場合)。virtualenv がある場合、el-get は自動的に "env/" を作成します。したがって、システムのインストールが好きなら、次のようにして Jedi.el に "evn/" を無視するように指示する必要があります。
(require 'jedi)
(setq jedi:server-command (list "python" jedi:server-script))
参照: http://tkf.github.com/emacs-jedi/#jedi:server-command
編集 2
あなたの説明から、なぜそれが起こっているのかわかりません。問題を絞り込むためのいくつかの方法を次に示します。
make tryout
jedi.el がインストールされているディレクトリ ( など) で実行します~/.emacs.d/el-get/jedi/
。
これにより、jedi.el の最小限のセットアップでクリーンな (つまり、セットアップを読み取らない) Emacs プロセスが開きます。numpy と scipy を完了することができるかどうか見てみましょう。
Emacs にnumpy と scipy をインポートできますか? Emacs とシェルで異なる環境変数を持つことができます。実行しますM-! python -c 'import numpy' RET
。これでエラーが発生しなければ問題ありません。
を使用して numpy と scipy をインポートできますenv/bin/python
か? これを行う最善の方法は、Emacs からチェックすることです。
まず、jedi.el がインストールされているディレクトリ (例: C-x C-f ~/.emacs.d/el-get/jedi/ RET
) に移動します。
次に実行しM-! env/bin/python -c 'import numpy' RET
ます。これでエラーが発生しない場合は、numpy と scipy をインポートできるはずです。
そのうちの少なくとも 1 つがエラーになることを願っています。それ以外の場合は、別の可能性について考える必要があります。