LoginSignup
2
2

Python初心者がWebサービスを作る備忘録(~お試し環境で動くまで)

Posted at

これ is なに

Python初心者がWebサービスを作ってみるよ。
環境設定からの備忘録だよ。

初期装備

  • Pythonはほぼ完全に初心者
  • JavaでのWebサービス作成経験はある
    なので、オブジェクト指向、TCP/IPの仕組み、プラグインを使用した開発に関する知識は無ではない。(精通しているとは言えない)
  • 英語は何となく単語は拾えるレベル
  • IntelliJは少し触ったことがある

環境

やること

  • Pythonよくわからないけど技術キャッチアップのために練習するよ
  • どうせならWebサービス作りたいよ(アイディアはない)
  • Reflaxというフレームワークを使うと、PythonだけでWebサービスがつくれるっぽいので試してみる

本編

結構下記サイトを参考にしたよ。

IDE(PyCharm)インストール

ChatGPTさんに聞いたらPyCharmをおすすめされたので仰せの通りにするよ。
下記からCommunity版をダウンロードするよ。
現時点でバージョンは pycharm-community-2024.1.1.exe だったよ。

ダウンロードできたら適当にインストールするよ。

新しいプロジェクトを作ってみたけど、あとでReflexさんが新規プロジェクト作ってくれるみたいなのでいらない インストールしたら新しいプロジェクトを作成して開いてみるよ。

フレームワーク(Reflex)のインストール

なんかPythonだけでWebサービスが作れるフレームワークらしい。ほかのフレームワーク知らんけど。

とりあえずPython自体はインストール済みなので、pipしてみる。

pip install reflex

なんかエラー出た
image.png
よくわからないけど、コマンド実行しろって書いてあるから従うよ。

C:\Users\[ほげほげ]\AppData\Local\Programs\Python\Python310\python.exe -m pip install reflex

Successfullyって出ているから多分成功したよ。
image.png

プロジェクト作成

プロジェクトフォルダを適当に作成して、そこに移動して下記コマンドを実行するよ。

reflex init

なんか聞かれた。とりあえずblankでやってみよう。
image.png
終わった。
image.png
プロジェクトフォルダにはなんかいろいろ作られてた。
image.png
PyCharmで開いてみる。
image.png
プロジェクト実行するには、reflex runを実行すればいいらしい。
image.png
動いたみたい。
image.png
http:\localhost:3000 にアクセスしてみる。
image.png
動いたわ。
とりあえずこの時点でGitHubにプッシュしておく。

なんかエラーが出てるので対処する

image.png
一つ目はなんかプロジェクトのパイソンのバージョン選べ、って話みたいで、適当に3.10を選んだら解消したよ。
二つ目はよくわからないけどキャッシュの問題っぽい? Install requirement をクリックした後に PyCharm 再起動したら消えてた。

Webサービスにデプロイ

Renderというサービスが無料でよさそうなので、ここにデプロイしてみる。 → なんかうまくいかなかった

https://qiita.com/kizataka/items/10693e87f726a95499e4

Start Command はReflexを使用しているので変えたよ。
image.png

初回デプロイには11分ほどかかったよ。
image.png
image.png
https://pythonweb-uts6.onrender.com/ にデプロイできたみたいなのでアクセスしてみるよ。
image.png
404ってことなのかな? なんでだろうね。

ようやくReflex公式ドキュメントを読んでみる。

https://reflex.dev/docs/hosting/self-hosting/#production-mode

デプロイするときには

reflex run --env prod

する必要がありそう?
とりあえずrxconfig.pyを変更して、Renderの設定を変えて再挑戦。
image.png
image.png

なんかポートバインドしてくれって怒られた。
image.png

reflex login

するとGitHub連携画面が出るので連携する
GitHubのリポジトリのローカルリポジトリフォルダまで移動して

reflex deploy

を実行。
色々聞かれるので適当に回答。
image.png
デプロイできたっぽい。
https://pythonweb.reflex.run/
おお、動いた
image.png

お試し環境で動いたのでとりあえずここまで。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2