🐍
rye+FastAPIでHello World!する方法
Pythonのパッケージ管理ライブラリrye
を使ってFastAPI
を起動する方法
各ライブラリのドキュメント
- rye:https://rye-up.com/
- FastAPI:https://fastapi.tiangolo.com/ja/
手順
ryeのインストール
-
rye
のインストール
bash
$ curl -sSf https://rye-up.com/get | bash
-
rye
コマンドに環境変数を設定
bash
$ echo 'source "$HOME/.rye/env"' >> ~/.bashrc
上記実施後、以下コマンドを叩くと以下が返ってくる。
bash
$ rye
An Experimental Package Management Solution for Python
Usage: rye [COMMAND]
Commands:
add Adds a Python package to this project
build Builds a package for distribution
config Reads or modifies the global `config.toml` file
fetch Fetches a Python interpreter for the local machine
init Creates a new python project
install Installs a package as global tool
lock Updates the lockfiles without installing dependencies
make-req Builds and prints a PEP 508 requirement string from parts
pin Pins a Python version to this project
publish Publish packages to a package repository
remove Removes a package from this project
run Runs a command installed into this package
shell Spawns a shell with the virtualenv activated
show Prints the current state of the project
sync Updates the virtualenv based on the pyproject.toml
toolchain Helper utility to manage Python toolchains
tools Helper utility to manage global tools
self Rye self management
uninstall Uninstalls a global tool
version Get or set project version
help Print this message or the help of the given subcommand(s)
Options:
--version Print the version
-h, --help Print help
rye
下の環境にFastAPI
をインストール、実行
- ディレクトリ作成、仮想環境の初期化
bash
$ rye init fastapi-sample && cd fastapi-sample
- 使用するPythonのバージョンを固定する(今回は
3.11
に設定)
bash
~/fastapi-sample $ rye pin 3.11
-
FastAPI
をライブラリに追加-
FastAPI[all]
を指定することで、サーバー起動に必要なuvicorn
など周辺ライブラリもインストールすることができる
-
bash
~/fastapi-sample $ rye add fastapi[all]
-
Fastapi[all]
のインストール- 本コマンドの実行によって、
requirements-dev.lock
とrequirements.lock
ファイルが作成される
- 本コマンドの実行によって、
bash
~/fastapi-sample $ rye sync
-
main.py
の作成
main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
- サーバーの起動
- rye環境下で実行しているので、
rye run
をつけて実行する必要がある
- rye環境下で実行しているので、
bash
~/fastapi-sample $ rye run uvicorn main:app --reload
INFO: Will watch for changes in these directories: ['/fastapi-sample']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [8087] using WatchFiles
INFO: Started server process [8089]
INFO: Waiting for application startup.
INFO: Application startup complete.
-
http://127.0.0.1:8000
にアクセスすると以下のような画面が表示される
以上。
Discussion