49

私は次のコードを実行しています

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World!"
if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80, debug=True)

次のエラーが発生します

Traceback (most recent call last):
  File "test.py", line 1, in <module>
    from flask import Flask
  File "/home/pi/programs/flask.py", line 1, in <module>
    from flask import Flask
ImportError: cannot import name Flask

さまざまな方法でフラスコを取り付けてみましたが、それでも問題は解決しません

また、フラスコに代わるものはありますか?

4

9 に答える 9

174

テストファイルflask.pyという名前を付けて実行しようとしたため、このエラーが発生しました。それは実際のフラスコモジュールとの名前空間の競合を引き起こします!

フラスコ.pyという名前のローカルテストファイルとそれぞれのflask.pycを削除します。他の名前を付けてください!これは、テストファイルに標準モジュールと同じ名前を付ける可能性が高いなどの他のモジュールで発生します:-)socket

于 2013-10-19T20:42:15.013 に答える
25

その理由は、Pythonファイル名がflaskであるためです。

于 2016-08-10T09:27:13.263 に答える
16

とにかく走れapt-get install python3-flask

現在python2を使用している人はいないため、python3バージョンをインストールするように編集しました。

于 2013-02-09T23:52:52.583 に答える
11

ただflask.pyファイルの名前を変更し、flask.pycファイルも削除ます

于 2014-05-22T12:32:29.723 に答える
5

それはflask.pyという名前のためです。名前がflask.pyの場合、それ自体がインポートされます。名前を変更して、再試行してください。

于 2018-08-16T15:46:56.900 に答える
1

仮想環境を再起動します

$ virtualenv flask

dirフラスコランに

$source ./bin/activate

Pythonモジュールを再度インストールします

$pip install "module"
于 2016-12-21T08:22:48.983 に答える
1

私も同じ問題を抱えていました。どうやら、ファイルにsocket.pyという名前を付けることもできません

于 2017-04-13T17:30:38.293 に答える
0

ファイル名をflask.pyとして作成し、それを初めて実行すると、フレームワークがflask.pycという別のファイルを作成します。次に、プロセスを停止して再度開始すると、代わりにこのエラーがスローされます。実際のフレームワークフラスコファイルを調べて、作成したファイルを調べます。この問題を解決するにはflask.pyを作成したフォルダーに移動し、flask.pycを削除してから、flask.pyの名前をtest_1.pyに変更します。保存して実行します。エラーは表示されないはずです。

于 2016-01-13T20:25:08.830 に答える
0

PYTHONPATH環境 に追加:export PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/

于 2019-12-16T00:26:56.243 に答える