Python mit Eclipse

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Papp Nase
User
Beiträge: 139
Registriert: Dienstag 11. März 2014, 15:12

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?
Benutzeravatar
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.
Benutzeravatar
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 :D
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

@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.
Benutzeravatar
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...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten