emacs-jedi findet keine nackten Komplettierungen

8

Ich habe emacs-jedi installiert, um Code-Vervollständigung für Python in Emacs zu erhalten. Im Allgemeinen muss ich sagen, dass ich sehr beeindruckt bin! Es funktioniert gut aus der Box und findet schnell Komplettierungen für eingebaute Bibliotheken. Allerdings verwende ich Python für wissenschaftliche Zwecke und bin für meine Arbeit auf numpy und scipy angewiesen. Aus irgendeinem Grund erhalte ich für diese Module keine Vervollständigungen.

Beispiel:

%Vor%

Geben Sie jetzt testVector ein. und warten, nichts zeigt sich

    
mike 05.02.2013, 13:16
quelle

2 Antworten

5

Ich frage mich, warum es nicht funktioniert. Es sieht aus wie sys.path Problem, aber es sollte ohne Konfiguration funktionieren. Aber hier ist eine Idee für eine Brute-Force-Lösung.

(1) Führen Sie das folgende Skript aus, um den Ladepfad für numpy zu erhalten.

%Vor%

(2) Stellen Sie jedi:server-args so ein, dass der Pfad zwangsweise hinzugefügt wird.

%Vor%

Siehe auch: Ссылка

Bearbeiten 1

Wenn Sie Ihren Kommentar zu @syohexs Antwort lesen, sieht es so aus, als hätten Sie einige Installationsmethoden durcheinandergebracht. jeeid.el benutzt den virtualenv "env /" in dem Verzeichnis, in dem du jedi.el hast, falls es existiert. el-get erstellt automatisch "env /" wenn du virtualenv hast. Also, wenn Sie Systeminstallation mögen, müssen Sie Jedi.el sagen, "evn /" zu ignorieren, indem Sie dies tun:

%Vor%

Siehe auch: Ссылка

Bearbeiten 2

Ich habe keine Ahnung, warum das aus Ihrer Beschreibung heraus geschieht. Hier sind mehrere Möglichkeiten, um das Problem einzugrenzen.

  1. Führen Sie make tryout in dem Verzeichnis aus, in dem jedi.el installiert ist (wie ~/.emacs.d/el-get/jedi/ ).

    Dies öffnet einen sauberen Emacs-Prozess (d. h. er liest nicht Ihren Setup) mit minimalem Setup für jedi.el. Mal sehen, ob du numpy und scipy abschließen kannst.

  2. Können Sie numpy und scipy in Emacs importieren ? Sie könnten verschiedene Umgebungsvariablen in Emacs und Shell haben. Führen Sie M-! python -c 'import numpy' RET aus. Wenn dies Ihnen keinen Fehler gibt, dann ist es in Ordnung.

  3. Können Sie numpy und scipy mit env/bin/python importieren? Der beste Weg, es zu tun ist, es von Emacs zu überprüfen.

    Gehen Sie also zuerst in das Verzeichnis, in dem jedi.el installiert ist (z. B. C-x C-f ~/.emacs.d/el-get/jedi/ RET ).

    Dann starte M-! env/bin/python -c 'import numpy' RET . Wenn dies keinen Fehler ergibt, sollte es möglich sein, numpy und scipy zu importieren.

Ich hoffe, mindestens einer von ihnen gibt Ihnen einen Fehler, sonst muss ich über eine andere Möglichkeit nachdenken.

    
tkf 06.02.2013 00:37
quelle
1

Ich kann einen solchen Fall abschließen. Wie folgt

Sie können alte Anforderungs-Module (jedi, epc, argparse) verwenden. Sie sollten sie aktualisieren und es erneut versuchen.

    
syohex 05.02.2013 14:38
quelle

Tags und Links