ImportError: cannot import name 'Flask' from 'flask' (unknown location)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo liebe RPi-Freunde,

    Ich habe ein Python-Skript für einen Flask-Server, welches ich per Remote Desktop Verbindung (Login per root) und der IDE Thonny starten kann.

    Gehe ich per python3 Flask_Server.py auf das Skript um jenes auszuführen über die Konsole, erhalte ich folgende Fehlermeldung:

    Python
    Traceback (most recent call last):
      File "Flask_Server.py", line 1, in <module>
        from flask import Flask, render_template, request, url_for, session, jsonify, send_file
    ImportError: cannot import name 'Flask' from 'flask' (unknown location)

    Das entsprechende Flask-Skript:

    Python
    from flask import Flask, render_template, request, url_for, session, jsonify, send_file
    from werkzeug.utils import redirect
    
    app = Flask(__name__)
    app.secret_key = "zISMDCwvfJY2TXHMKHrB"  # is used for hashing the session vars
    
    [...]
    
    if __name__ == "__main__":
        app.run(host='0.0.0.0', port=8080, threaded=True, debug=True)

    Python 3.7.4

    Könnte man meinen, man solle Flask installieren, also:

    pip3 install Flask

    führt zu:

    Code
    Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
    Requirement already satisfied: Flask in /usr/lib/python3/dist-packages (1.0.2)

    Flask 1.0.2

    Python 3.7.3 (default, Dec 20 2019, 18:57:59)

    [GCC 8.3.0]


    Mir fehlt es nun an Know-How um an der Stelle weiter zu debuggen.

    Rechercheergebnisse nach dem Fehler brachten den Hinweis, man solle per pip [..] Flask installieren.

    Ich freue mich über jede Hilfe.

    LG

    opc241

    Einmal editiert, zuletzt von opc241 (25. September 2020 um 15:14)

  • ImportError: cannot import name 'Flask' from 'flask' (unknown location)? Schau mal ob du hier fündig wirst!

  • Das ist sehr merkwuerdig. Bei mir kommt da

    Code
    beer:tmp deets$ python -c 'import flask; print(flask.__file__)'
    /Users/deets/.virtualenvs/tmp-agwWamBd/lib/python3.7/site-packages/flask/__init__.py

    Und so sollte das bei dir auch aussehen.

    Was passiert bei __blackjacks__ Vorschlag?

    Ok. Das ist ein namespace Paket, und das sollte so nicht sein.

    Was gibt

    Code
    python -c 'import flask; print(flask.__path__)'

    zurueck? (Anderer Name!)

  • Was gibt

    Code
    python -c 'import flask; print(flask.__path__)'

    zurueck? (Anderer Name!)

    --> ['/usr/lib/python2.7/dist-packages/flask']

    Ist das richtig, dass hier Python 2.7 steht und ich per Python3 das Skript ausführe? Denn das Skript ist mit Python3 gebaut und funktioniert so unter Python2 garnicht. Und falls nein, kann/sollte man den Pfad umbiegen?

  • Da ist was vermurkst. Bei python3 sollte niemals dieser Pfad von python2.7 auftauchen. Die Frage ist, wo der herkommt, und ob man das sinnvoll zuruecksetzen kann. Oder ob du besser alles neu machst (also das komplette OS!).

    Ich wuerde dir letzteres vorschlagen, denn es ist schwer absehbar, was da wo wie vermurkst wurde, da kann man sehr lange suchen.

  • Ach f....erdammt, ja, daran lag's natuerlich. Verzeihung.

    Einmal editiert, zuletzt von MistyFlower59469 (25. September 2020 um 17:47)

  • Viellicht bin ich ja ein ganz knorker 17jaehriger, der mit seinem Jugendslang toefte um die Ecke kommt. Wissen die ja nicht, diese nichtsnutzigen Jungspunde!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!