Ich bin sehr neu in PyDev und Python, obwohl ich Eclipse für Java viel verwendet habe. Ich versuche, einige der Dive Into Python Beispiele und Das scheint ein äußerst triviales Problem zu sein, das mich nur noch sehr nervt. Ich benutze Ubuntu Linux 10.04.
Ich möchte die Datei odbchelper.py verwenden können, die sich im Verzeichnis /Desktop/Python_Tutorials/diveintopython/py
Befindet.
Hier ist meine example.py-Datei, an der ich in meinem PyDev/Eclipse-Projekt arbeite:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
Das funktioniert gut, aber dann möchte ich, dass die nächste Zeile meines Codes ist:
import odbchelper
und dies verursacht jedes Mal einen ungelösten Importfehler. Ich habe fast jedem möglichen Verzeichnis __init__.py
- Dateien hinzugefügt, und es hilft nichts. Ich habe versucht, __init__.py
- Dateien einzeln zu den verschiedenen Verzeichnisebenen zwischen dem Projektspeicherort und der Datei odbchelper.py hinzuzufügen, und ich habe auch versucht, allen Dateien __init__.py
Hinzuzufügen der Verzeichnisse dazwischen gleichzeitig. Beides funktioniert nicht.
Ich möchte nur ein Projekt in einem anderen Verzeichnis haben, z. B. /Desktop/MyStuff/Project
, In dem ich example.py habe ... und dann von example.py odbchelper.py aus /Desktop/Python_Tutorials/diveintopython/py/
In jeder Antwort auf das Message Board kann ich nur sagen, dass ich das Verzeichnis mit der Funktion sys.path.append()
meinem Pfad hinzufügen und dann importieren soll ... aber genau das mache ich in meinem Code und es funktioniert nicht .
Ich habe das auch probiert Ctrl-1 Trick, um die Fehlermeldung zu unterdrücken, aber das Programm funktioniert immer noch nicht richtig. Ich erhalte eine Fehlermeldung ImportError: No module named odbchelper
. Es ist also klar, dass der Pfad nicht hinzugefügt wird, oder es gibt ein Problem, das alle meine vielen Permutationen beim Hinzufügen von __init__.py
- Dateien übersehen haben.
Es ist sehr frustrierend, dass etwas so Einfaches ... das Aufrufen von Dingen aus einer Datei, die irgendwo anders auf meinem Computer vorhanden ist ... so viel Aufwand erfordert.
In den Eigenschaften Ihres pydev-Projekts befindet sich ein Bereich mit dem Namen "PyDev - PYTHONPATH" und ein Teilbereich mit dem Namen "External Libraries". Sie können Quellordner hinzufügen (alle Ordner mit einem __init__.py
) zum Pfad, der diesen Bereich verwendet. Ihr Projektcode kann dann Module aus diesen Quellordnern importieren.
Ich verwende Eclipse Kepler 4.3, PyDev 3.9.2 und auf meinem Ubuntu 14.04 habe ich das gleiche Problem festgestellt. Ich habe mich stundenlang bemüht, mit all den oben genannten Möglichkeiten, aber vergebens. Dann habe ich folgendes ausprobiert, was großartig war:
Und ich habe Python 2.7 als Interpreter verwendet, obwohl es meiner Meinung nach keinen Effekt hat.
Ich habe gerade ein WXWindows-Projekt auf Python 2.7) aktualisiert und konnte Pydev problemlos dazu bringen, den neuen Interpreter zu erkennen. Beim Konfigurieren des Interpreters wurde wie oben beschrieben eine Neuinstallation von Eclipse und Pydev durchgeführt Dachte, ein Teil von python muss beschädigt sein, also habe ich alles neu installiert. Arghh! Das Projekt wurde geschlossen und erneut geöffnet und Eclipse zwischen all diesen Änderungen neu gestartet.
ENDLICH ist dir aufgefallen, dass du die PyDev-Projektkonfiguration entfernen kannst, indem du mit der rechten Maustaste auf das Projekt klickst. Dann kann es wieder zu einem PyDev-Projekt gemacht werden, jetzt ist es Gold wert!
Ich habe meinen Pythonpfad repariert und alles war fehlerfrei, als ich etwas über die Konsole importierte, aber all diese zuvor nicht aufgelösten Importe wurden immer noch als Fehler in meinem Code markiert, unabhängig davon, wie oft ich Eclipse neu gestartet oder das Projekt aktualisiert/bereinigt habe.
Ich habe mit der rechten Maustaste auf das Projekt-> Pydev-> Entfernen von Fehlermarkierungen geklickt und das Problem wurde behoben. Machen Sie sich keine Sorgen, wenn Ihr Code tatsächliche Fehler enthält, werden diese erneut markiert.
project -> properties -> pydev-pythonpath -> external libraries -> add source ordner, füge den PARENT FOLDER des Projekts hinzu. Starten Sie dann Eclipse neu.
Folgendes hat bei mir funktioniert (vorgeschlagen von soulBit):
1) Restart using restart from the file menu
2) Once it started again, manually close and open it.
Dies ist die einfachste Lösung aller Zeiten und beseitigt die lästigen Probleme vollständig.
Ich führe Eclipse 4.2.0 (Juno) und PyDev 2.8.1 aus und habe dieses Problem mit einer auf meinem Site-Package-Pfad installierten Bibliothek festgestellt. Nach dieser SO Frage:
... gibt es ein Problem mit PyDev- und PyC-Dateien. Im Falle der speziellen Bibliothek, auf die ich verweisen wollte, werden lediglich PyC-Dateien ausgeliefert.
Folgendes habe ich getan, um das zu beheben:
Führen Sie uncompyle2 für die * .pyc-Dateien in der Site-Packages-Bibliothek aus. Beispiel:
uncompyle2 -r -o/tmp/pfad/zu/site-paketen/lib
Der ungelöste Importfehler in Bezug auf .pyc-Dateien sollte jetzt verschwinden.
Es gibt zwei Möglichkeiten, dieses Problem zu lösen:
Jetzt sehe ich den Fehler nicht mehr und die Code-Vervollständigungsfunktion funktioniert auch mit "bottle".
Folgendes wird meiner Meinung nach das Problem lösen
ein. Nach dem, was David German vorschlug. Dies gilt jedoch nur für die jeweiligen Projekte, in denen Sie sich befinden. B. Fügen Sie in "~/Desktop/Python_Tutorials/diveintopython/py" einen neuen PythonPath unter Fenster -> Einstellungen -> PyDev -> Interpreter -> Python Interpreter -> Bibliotheken-Unterreiter hinzu -> NewFolder
Ich hoffe es hilft.