Zastanawiam się, dlaczego to nie działa. Wygląda na to, że problem występuje w postaci sys.path
, ale powinien działać bez żadnej konfiguracji. Ale tutaj jest jakiś pomysł na naprawę brutalnej siły.
(1) Uruchom następujący skrypt, aby uzyskać ścieżkę ładowania dla numpy.
import os
import numpy
print(os.path.dirname(os.path.dirname(numpy.__file__)))
(2) Ustaw jedi:server-args
jak to dobitnie dodać ścieżkę.
(setq jedi:server-args
'("--sys-path" "THE/PRINTED/PATH/FOR/NUMPY"
"--sys-path" "THE/PRINTED/PATH/FOR/SCIPY"))
Patrz także: http://tkf.github.com/emacs-jedi/#jedi:server-args
Edycja 1
Czytając swój komentarz na odpowiedź @ syohex jest, wygląda na to, miesza się kilka metod instalacji. jeid.el używa virtualenv "env /" w katalogu, w którym masz jedi.el, jeśli istnieje. el-get automatycznie tworzy "env /", jeśli masz virtualenv. Tak więc, jeśli lubisz instalacji systemu, trzeba powiedzieć Jedi.el ignorować "EVN /" w ten sposób:
(require 'jedi)
(setq jedi:server-command (list "python" jedi:server-script))
Patrz także: http://tkf.github.com/emacs-jedi/#jedi:server-command
Edycja 2
Nie mam pojęcia, dlaczego tak się dzieje z twojego opisu. Oto kilka sposobów na ograniczenie problemu.
Run make tryout
w katalogu, w którym jest zainstalowany jedi.el (jak ~/.emacs.d/el-get/jedi/
).
To otwiera czyste (tzn. Nie odczytuje konfiguracji) Proces Emacs z minimalną konfiguracją dla jedi.el. Sprawdźmy, czy możesz wykonać numpy i scipy.
Czy można importować numpy i scipy w Emacs? Możesz mieć inną zmienną środowiskową w Emacs i powłoce. Uruchom M-! python -c 'import numpy' RET
. Jeśli to nie daje błędu, to jest w porządku.
Czy można zaimportować numpy i scipy za pomocą env/bin/python
? Najlepszym sposobem na sprawdzenie tego jest Emacs.
Najpierw przejdź do katalogu, w którym zainstalowany jest plik jedi.el (np. C-x C-f ~/.emacs.d/el-get/jedi/ RET
).
Następnie uruchom M-! env/bin/python -c 'import numpy' RET
. Jeśli nie spowoduje to błędu, powinno być możliwe zaimportowanie numpy i scipy.
Mam nadzieję, że przynajmniej jeden z nich daje błąd, w przeciwnym razie muszę pomyśleć o innej możliwości.
Nawet jeśli epc i jedi zostały automatycznie zainstalowane przez el-get, gdy zainstalowałem emacs-jedi, zrobiłem git pull w tych folderach tylko po to, aby mieć pewność, że mam najnowszą wersję. Zrobiłem też sudo pip install argparse --upgrade, która powiedziała mi, że mam już najnowszą wersję argparse. Tak więc zależności wydają się aktualne, ale nadal nie otrzymuję zakończenia dla numpy lub scpipy. – mike
Hmm, używam epc 0.0.3 i jedi 0.5b5. Sprawdź wersję epc, jedi. – syohex