msdd’s blog

deep learning勉強中。プログラム関連のこと書きます。

PyTorchのflaskでのデプロイチュートリアルをする時に出たエラーの解決法

はじめに

PyTorchのデプロイチュートリアルを読んでいて、 Flaskのコマンドを実行する時に、実行できなかったので その解決法を残しておきます。

問題の箇所

使っていた環境はWindows10,anaconda powershell promptを使っていました。

動かなかった箇所は、下のような環境変数を設定している所でした。 このままでは、どうやらwindowsでは動かないらしく、

$ FLASK_ENV=development FLASK_APP=app.py flask run

実行してみると、下のようなエラーが出ました。 Flaskの環境変数がセットできなかったようです。

$ : 用語 '$' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前
が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ $ FLASK_ENV=development FLASK_APP=app.py flask run
+ ~
    + CategoryInfo          : ObjectNotFound: ($:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

解決法

実行したコマンドで調べてみると、 teratailに解決法が書いてありました。

どうやらPower Shellでは、書き方が違うらしく$env:"ENV"のようにENVに環境変数を書いていくようです。また、複数ある時は、セミコロン;で区切るようです。 なので、実行するコマンドはこんな感じになりました。

$env:FLASK_ENV="development";$env:FLASK_APP="app.py";flask run

これを実行すると、無事に動くようになり、サーバーが立ち上がりました。