Hier ist ein weiteres Problem, das ich auch nach dem Lesen dieser Beiträge erst nach einer Weile erkannt habe. Ich war ein Skript zum Aufrufen meiner Python bin Skripte einrichten. Ich war immer das Modul nicht aufrufbar zu.
Mein Zig war, dass ich Folgendes tat:
from mypackage.bin import myscript
...
myscript(...)
als mein Zag Folgendes tun musste:
from mypackage.bin.myscript import myscript
...
myscript(...)
Zusammenfassend lässt sich sagen, dass Sie Ihre Paket- und Modulverschachtelung überprüfen sollten.
Was ich versuche, ist ein Skript-Verzeichnis, das nicht die *.py-Erweiterung hat, und immer noch die "bin"-Module in mypackage/bin sein und diese haben meine *.py-Erweiterung. Ich bin neu in der Paketierung und versuche, den Standards zu folgen, wie ich sie interpretiere. Also, ich habe bei der Einrichtung Root:
setup.py
scripts/
script1
mypackage/
bin/
script1.py
subpackage1/
subpackage_etc/
Sollte dies nicht der Norm entsprechen, lassen Sie es mich bitte wissen.
25 Stimmen
Ich habe diesen Fehler einmal bekommen, weil ich sowohl eine (globale) Variable als auch eine Funktion mit demselben Namen hatte.
2 Stimmen
Ich erhielt diese Fehlermeldung mit dem Dateinamen random.py im gleichen Ordner, in dem ich eine zuvor funktionierende ipynb-Datei hatte. Ich änderte den Namen der Datei in random_function.py und startete das Jupyter-Notebook neu. Der Fehler verschwand. Um zu testen, ob der Name random.py das Problem war, änderte ich die Datei random_function.py wieder in random.py. Das Problem trat wieder auf. Benennen Sie Ihre Datei nicht nach dem Namen einer Python-Bibliothek.