Herokuにデプロイできなくて死にそう。現在進行形。
なんとかHerokuにデプロイできた。
【保存版】30分でFlask入門!Webアプリの作り方をPythonエンジニアが解説
Windows10 pro
Python 3.9.10
Flask で作ったTodoアプリを Heroku にデプロイしよう!というチュートリアル的なやつ。
ところがこのデプロイで躓いてしまった。
「git push heroku master」でpushするときのエラーで、内容を見ると、
ERROR: Could not find a version that satisfies the requirement pywin32==303 (from versions: none)
とか出ている。
Heroku が Linux なのでWindows系のものはいらない(動かない)ということなのらしいけど、パッケージアンインストールしたりrequirements.txtから消したり、grepかけてライブラリが使おうとしてるコードも勝手に書き換えたりしてみたけど、どれをやっても変わらない。
何時間かここで止まっちゃっててわかんないなあ。
(追記)
virtualenvの使い方がへたっぴだったようだ。venvにしたほうがいいみたいな情報を見つけて結局そっちでやってみたけど、多分virtualenvでも大丈夫だ。
仮想環境を作ったのに抜けて普通の環境でやってたもんだから、requirements.txt の内容がおかしかったみたい。VSCodeとAnaconda使ってるから分からなくなってきてた。
もう一度手順確かめて、まずはHerokuにデプロイできるようにはなったぜって言いたい。
「Pythonで困ってる話」への2件の返信
コメント失礼いたします。
記事拝見しました。
「ERROR: Could not find a version that satisfies the requirement pywin32==303 (from versions: none)」で同じく困っておりまして・・・。解決のヒントを教えて頂けると助かります。何卒宜しくお願い致します。
コメントありがとうございます。
私と同じところでひっかかっていると思うので、
一度新しいプロジェクトを作成してHello world だけで Heroku へのデプロイ確認を行うと良いかなと思います。
原因ですが、おそらくAnacondaで仮想環境の有効化(env\Scripts\activate)を行った後、
VSCodeのターミナルの作業でもう一度仮想環境の有効化(env\Scripts\activate)を行っていない可能性があります。
仮想環境の有効化を行うと、
Anacondaの場合
(base)→(env) (base)
VSCodeの場合
(env)
がつくようになります。
単純にその操作が抜けていたり、一度作業を中断して再開した場合に
(env)がなくなっているかもしれません。
その状態で進めると、独立した仮想環境ではなく、
元のWindowsの環境からデータを拾おうとするので、
ライブラリの情報にWindows関連のファイルが色々入ってしまうようです。