Relative Importe zum milliardsten Mal

Ich war hier:

http://www.python.org/dev/peps/pep-0328/http://docs.python.org/2/tutorial/modules.html#packagesPython-Pakete: relative ImporteBeispielcode für den relativen Python-Import funktioniert nichtUltimative Antwort auf relative Python-ImporteRelative Importe in PythonPython: Relativen Import deaktivieren

und viele URLs, die ich nicht kopiert habe, manche auf SO, manche auf anderen Websites, als ich dachte, ich hätte die Lösung schnell.

Die immer wiederkehrende Frage lautet: Wie löse ich unter Windows 7, 32-Bit-Python 2.7.3 die Meldung "Versuchter relativer Import in Nicht-Paket"? Ich habe eine exakte Kopie des Pakets auf pep-0328 erstellt:

package/
    __init__.py
    subpackage1/
        __init__.py
        moduleX.py
        moduleY.py
    subpackage2/
        __init__.py
        moduleZ.py
    moduleA.py

Ich habe Funktionen namens Spam und Eier in den entsprechenden Modulen erstellt. Natürlich hat es nicht funktioniert. Die Antwort ist anscheinend in der 4. URL, die ich aufgelistet habe, aber es sind alles Ehemalige für mich. Es gab diese Antwort auf eine der URLs, die ich besucht habe:

Relative Importe verwenden das Namensattribut eines Moduls, um die Position dieses Moduls in der Pakethierarchie zu bestimmen. Wenn der Name des Moduls keine Paketinformationen enthält (z. B. 'main'), werden relative Importe so aufgelöst, als wäre das Modul ein Modul der obersten Ebene, unabhängig davon, wo sich das Modul tatsächlich im Dateisystem befindet.

Die obige Antwort sieht vielversprechend aus, aber es sind alles Hieroglyphen für mich. Also meine Frage, wie kann ich Python dazu bringen, nicht zu mir zurückzukehren "Versuchter relativer Import in Nicht-Paket"? hat eine Antwort, die angeblich -m beinhaltet.

Kann mir jemand bitte sagen, warum Python diese Fehlermeldung ausgibt,Was es bedeutet, wenn es nicht im Paket enthalten ist!, warum und wie definieren Sie ein "Paket" undDie genaue Antwort wurde so einfach formuliert, dass ein Kindergärtner sie verstehen kann.

Bearbeiten: Die Importe wurden von der Konsole aus durchgeführt.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage