Hallo liebe Community
Meine Frage ist: Wenn wir z.b. das Package numpy.fft nehmen. Wenn ich mir dann den Quellcode des Packages angucke, welches ich ja ueber import numpy.fft importieren kann, dann sind dort u.a die Import [from . import fftpack_lite as fftpack
from .helper import _FFTCache]. Diese ywei koennen von meiner IDE (Pycharm) nicht Importiert werden. Wenn ich das Package (numpy.fft) aber in ein anderes File importiere, funktioniert es ja. Also muessen auch irgendwie die Importe gemacht werden.
Nun ist meine Frage wie das funktioniert, dass ein Package ein Import macht, welches meine IDE nicht findet.
Ich hoffe meine Frage ist einigermassen klar geworden.
Mit freundlichen Gruessen
Johannes
Packages die Import machen, die nicht gefunden werden
- __blackjack__
- User
- Beiträge: 13111
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@markjohannes: Was genau versuchst Du denn wie zu importieren? Denn das was Du da beschreibst stimmt so nicht: die beiden Importe sind nicht in `numpy.fft` sondern in `numpy.fft.fftpack`.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Ich vermute mal es handelt sich um einen Klassiker: die IDE verwendet einen anderen Python Interpreter als die Kommandozeile auf der ein Skript ausgeführt wird.
Um das rauszufinden in beiden Umgebungen mal
import sys; print(sys.prefix)
ausführen & vergleichen.
Um das rauszufinden in beiden Umgebungen mal
import sys; print(sys.prefix)
ausführen & vergleichen.
-
- User
- Beiträge: 29
- Registriert: Dienstag 24. April 2018, 22:04
Also zum letzen Beitrag. Nein. Alle meine Programme werden von der gleichen IDE ausgefuehrt.
Und zum zweiten. Doch die Import sind in numpy.fft.
Und zum zweiten. Doch die Import sind in numpy.fft.
-
- User
- Beiträge: 29
- Registriert: Dienstag 24. April 2018, 22:04
Ein Beispiel zu meinem Problem
Folgendes wird alles in der gleichen IDE ausgefuehrt
Quelltext meines Programmes:
import ausgedacht
ausgedacht.ausgedacht_funktion() # funktioniert alles
Quelltext ausgedacht:
import ausgedacht1 # Fehlermeldung, Paket ausgedacht1 nicht gefunden
def ausgedacht_funktion()
Wie kann das sein?
Folgendes wird alles in der gleichen IDE ausgefuehrt
Quelltext meines Programmes:
import ausgedacht
ausgedacht.ausgedacht_funktion() # funktioniert alles
Quelltext ausgedacht:
import ausgedacht1 # Fehlermeldung, Paket ausgedacht1 nicht gefunden
def ausgedacht_funktion()
Wie kann das sein?
- __blackjack__
- User
- Beiträge: 13111
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@markjohannes: Also bei mir sind die Module da und auch importierbar.
Es ist also wohl eher nicht die Frage wie Python das macht, denn das importiert die eben ganz normal, sondern warum Deine IDE die nicht findet. Wobei: reden wir jetzt davon das der Import tatsächlich nicht funktioniert, oder das Deine IDE nur behauptet sie würden nicht funktionieren, oder gar nur das sie nicht in der Autovervollständigung auftauchen? Die Antwort darauf könnte sein, dass die IDE vielleicht Probleme hat C-Erweiterungen zu analysieren und das Namen mit führendem Unterstrich nicht öffentlich sind, und deshalb nicht angezeigt werden.
Zeig doch bitte mal ganz konkret die Importe die nicht funktionieren, inklusive dem Traceback für den `ImportError`.
Code: Alles auswählen
In [26]: import numpy.fft.fftpack_lite
In [27]: from numpy.fft.helper import _FFTCache
Zeig doch bitte mal ganz konkret die Importe die nicht funktionieren, inklusive dem Traceback für den `ImportError`.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman