Packages die Import machen, die nicht gefunden werden

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
markjohannes
User
Beiträge: 29
Registriert: Dienstag 24. April 2018, 22:04

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
Benutzeravatar
__blackjack__
User
Beiträge: 13004
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`.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
markjohannes
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.
markjohannes
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?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@markjohannes: Also bei mir sind die Module da und auch importierbar.

Code: Alles auswählen

In [26]: import numpy.fft.fftpack_lite

In [27]: from numpy.fft.helper import _FFTCache
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`.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten