Ich bin sehr neu in PyDev und Python, obwohl ich Eclipse für Java häufig verwendet habe. Ich versuche, einige der Beispiele für Dive Into Python durchzuarbeiten, und dies scheint ein äußerst triviales Problem zu sein, das nur außerordentlich ärgerlich wird. Ich benutze Ubuntu Linux 10.04.
Ich möchte die Datei odbchelper.py verwenden können, die sich im Verzeichnis befindet /Desktop/Python_Tutorials/diveintopython/py
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 lautet:
import odbchelper
Dies führt jedes Mal zu einem ungelösten Importfehler. Ich habe __init__.py
Dateien zu fast jedem möglichen Verzeichnis 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, die __init__.py
Dateien gleichzeitig zu allen dazwischen liegenden Verzeichnissen hinzuzufügen . Beides funktioniert nicht.
Ich möchte nur ein Projekt in einem anderen Verzeichnis /Desktop/MyStuff/Project
haben, beispielsweise in dem ich example.py habe ... und dann aus example.py möchte ich odbchelper.py aus importieren/Desktop/Python_Tutorials/diveintopython/py/
Jede Message Board-Antwort, die ich finde, sagt nur, dass ich die sys.path.append()
Funktion verwenden soll, um dieses Verzeichnis meinem Pfad hinzuzufügen und es dann zu importieren ... aber genau das mache ich in meinem Code und es funktioniert nicht.
Ich habe auch den versucht Ctrl- 1Trick , um die Fehlermeldung zu unterdrücken, aber das Programm funktioniert noch nicht richtig. Ich bekomme einen Fehler ImportError: No module named odbchelper
. Es wird also eindeutig nicht der Pfad hinzugefügt, oder es gibt ein Problem, das bei all meinen vielen Permutationen beim Hinzufügen von __init__.py
Dateien übersehen wurde.
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.
grp
Modul erhalten. Ich habe es gerade zurbuiltins
Liste unter Einstellungen> PyDev> Interpreter> Python> Forced Builtins hinzugefügt und erhalte immer noch die automatische Vervollständigung für dieses ModulAntworten:
In den Eigenschaften Ihres Pydev-Projekts befindet sich ein Bereich mit dem Namen "PyDev - PYTHONPATH" und ein Unterbereich mit dem Namen "Externe Bibliotheken". In diesem Bereich können Sie
__init__.py
dem Pfad Quellordner (alle Ordner mit einem ) hinzufügen . Ihr Projektcode kann dann Module aus diesen Quellordnern importieren.quelle
sys.path
C:\Python27\lib\site-packages
, aber auf meinem Computer wird der lib-Ordner groß geschrieben :C:\Python27\Lib\site-packages
. Das Ersetzen des Eintrags in Kleinbuchstaben durch einen Eintrag in Großbuchstaben und dann Datei-> Neustart hat das Problem für mich behoben. Hoffe das hilft jemand anderem da draußen :)Ich verwende Eclipse Kepler 4.3, PyDev 3.9.2 und auf meinem Ubuntu 14.04 bin ich auf dasselbe Problem gestoßen. Ich habe versucht und Stunden damit verbracht, mit all den oben genannten Optionen, 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 keine Auswirkungen hat.
quelle
Ich habe gerade ein WXWindows-Projekt auf Python 2.7 aktualisiert und hatte unermüdliche Probleme, Pydev dazu zu bringen, den neuen Interpreter zu erkennen. Hat das gleiche wie oben beim Konfigurieren des Interpreters gemacht und eine Neuinstallation von Eclipse und Pydev durchgeführt. Ich dachte, ein Teil von Python muss beschädigt gewesen sein, also habe ich alles erneut installiert. Arghh! Das Projekt wurde geschlossen und erneut geöffnet, und Eclipse wurde zwischen all diesen Änderungen neu gestartet.
ENDLICH bemerkt, dass Sie die PyDev-Projektkonfiguration entfernen können, indem Sie mit der rechten Maustaste auf das Projekt klicken. Dann kann es wieder zu einem PyDev-Projekt gemacht werden, jetzt ist es gut wie Gold!
quelle
Ich habe meinen Pythonpfad repariert und alles war gut, als ich Sachen über die Konsole importierte, aber all diese zuvor ungelösten Importe wurden immer noch als Fehler in meinem Code markiert, egal wie oft ich Eclipse neu gestartet oder das Projekt aktualisiert / bereinigt habe.
Ich habe mit der rechten Maustaste auf das Projekt-> Pydev-> Fehlermarkierungen entfernen geklickt und das Problem wurde behoben. Keine Sorge, wenn Ihr Code tatsächliche Fehler enthält, werden diese neu markiert.
quelle
Projekt -> Eigenschaften -> Pydev-Python-Pfad -> Externe Bibliotheken -> Quellordner hinzufügen, PARENT FOLDER des Projekts hinzufügen. Starten Sie dann Eclipse neu.
quelle
Folgendes hat bei mir funktioniert (vorgeschlagen von soulBit):
Dies ist die einfachste Lösung aller Zeiten und beseitigt die lästige Sache vollständig.
quelle
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 "Flasche".
quelle
Ich verwende Eclipse 4.2.0 (Juno) und PyDev 2.8.1 und bin auf dieses Problem mit einer im Pfad meiner Site-Pakete installierten Bibliothek gestoßen. Nach dieser SO-Frage:
Pydev- und * .pyc-Dateien
... es gibt ein Problem mit PyDev- und Pyc-Dateien. Im Fall der bestimmten Bibliothek, auf die ich verweisen wollte, werden nur Pyc-Dateien geliefert.
Folgendes habe ich getan, um dies zu beheben:
Führen Sie uncompyle2 für die * .pyc-Dateien in der Site-Packages-Bibliothek aus. Beispiel:
uncompyle2 -r -o / tmp / path / to / site-packages / lib
Der ungelöste Importfehler in Bezug auf .pyc-Dateien sollte jetzt verschwinden.
quelle
Im Folgenden wird meiner Meinung nach das Problem gelöst
ein. Nach dem, was David German vorgeschlagen hat. Dies gilt jedoch nur für die Projekte, an denen Sie beteiligt sind. B. Fügen Sie "~ / Desktop / Python_Tutorials / diveintopython / py" in einen neuen PythonPath unter Fenster -> Einstellungen -> PyDev -> Interpreter -> Python-Interpreter -> Unterregisterkarte Bibliotheken -> NewFolder ein
Ich hoffe es hilft.
quelle
Ich hatte einige Probleme beim Importieren zusätzlicher Bibliotheken, nachdem ich versucht hatte, das Problem zu lösen. Als ich PYTHONPATH, Interpreter und Grammatik verstand, stellte ich fest, dass ich alles geschrieben habe, aber die Probleme weiterhin bestehen. Danach füge ich einfach eine neue leere Zeile in die Dateien ein, die die Importfehler hatten, und speichere sie und der Fehler wurde behoben .
quelle
DIESE Datei funktioniert perfekt für mich
Ein anderes Beispiel ist
quelle