Hi, ich nutze jetzt Python mit Eclipse.
Tippe ich ein:
from os import ...
dann wird bei ... eine Liste aller möglichen Eingaben angezeigt.
Ich habe ein eigene eigene Datei in einem Unterverzeichnis geschrieben (im gleichen Verzeichnis, wo main main.py zu finden ist, aber wenn ich eintippe from abc import ... wird bei ... nix angezeigt, obwohl die Sachen funktionieren und wenn ich es manuell eintippe, dann geht es auch.
Woran könnte das liegen?
Python mit Eclipse
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Daran, dass Unterstuetzung fuer `os` (bzw Module der Standardbibliothek) hat, aber keine fuer generische Module.
Warum sollte klar werden, wenn man sich vor Augen haelt, dass dafuer in der Regel noetig ist, die Module auszufuehren. Das will man nun wirklich nicht fuer beliebige Module machen.
Warum sollte klar werden, wenn man sich vor Augen haelt, dass dafuer in der Regel noetig ist, die Module auszufuehren. Das will man nun wirklich nicht fuer beliebige Module machen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wobei ich glaube, das KDevelop dafür tatsächlich Unterstützung bietet - wie die das machen, weiß ich allerdings nicht. Vermutlich mit einem externen Parser... Erinnerung an mich: Dringend mal ausprobieren
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@Papp Nase: Woran das in diesem speziellen Fall liegt kann ich Dir nicht sagen, aber generell muss man immer bedenken das diese Art von Autovervollständigung ihre Grenzen hat, weil man nicht zuverlässig statisch ermitteln kann was Objekte später mal dynamisch so alles an Attributen haben.
Wenn man mehr als ein Modul hat, sollte man das übrigens in einem Package organisieren und dann explizit aus dem Package importieren oder zumindest relativ, also ``from package_name.abc import ...`` oder ``from .abc import``. Sonst rennt man früher oder später in ein Problem wenn man eine Bibliothek verwendet die ein Modul mit dem gleichen Namen wie ein eigenes Modul hat, und die dann das falsche Modul importiert.
@cofi: Man kann trotzdem versuchen die Module statisch zu analysieren, auch wenn man damit natürlich nicht alles abdeckt/findet. Pylint macht so etwas, Epydoc auch, und ich glaube PyCharm hat auch etwas eigenes implementiert. Allgemein gibt es noch die `jedi`-Bibliothek die auch versucht herauszubekommen was es gibt was man als Autovervollständigung anbieten kann.
Wenn man mehr als ein Modul hat, sollte man das übrigens in einem Package organisieren und dann explizit aus dem Package importieren oder zumindest relativ, also ``from package_name.abc import ...`` oder ``from .abc import``. Sonst rennt man früher oder später in ein Problem wenn man eine Bibliothek verwendet die ein Modul mit dem gleichen Namen wie ein eigenes Modul hat, und die dann das falsche Modul importiert.
@cofi: Man kann trotzdem versuchen die Module statisch zu analysieren, auch wenn man damit natürlich nicht alles abdeckt/findet. Pylint macht so etwas, Epydoc auch, und ich glaube PyCharm hat auch etwas eigenes implementiert. Allgemein gibt es noch die `jedi`-Bibliothek die auch versucht herauszubekommen was es gibt was man als Autovervollständigung anbieten kann.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Wichtig ist auch, das in pydev das Projekt als suchpfad drin ist...
EDIT: Also ich meine: Project / Properties / PyDev PYTHONPATH dort bei "Source Folders" das Projekt Verzeichnis eintragen. Erst dann findet er alle eigenen Module...
EDIT: Also ich meine: Project / Properties / PyDev PYTHONPATH dort bei "Source Folders" das Projekt Verzeichnis eintragen. Erst dann findet er alle eigenen Module...