コンテンツへ移動

はじめに、インストール、および最初のステップ

型ヒント

Python型ヒント(型アノテーション)の使い方を復習する必要がある場合は、FastAPIのPython型入門をご覧ください。

また、mypyチートシートも参照できます。

**SQLModel**はすべてに型アノテーションを使用するため、使い慣れたPython構文を使用して、オートコンプリートやエディター内エラーチェックによる可能な限り最高のエディターサポートを得ることができます。

はじめに

このチュートリアルでは、**SQLModel**とその機能を段階的に使用方法を示します。

各セクションは前のセクションを段階的に構築していますが、トピックを分離するように構成されているため、特定のニーズに合わせて直接特定のセクションに進むことができます。

将来の参照として機能するように構築されています。

そのため、必要な情報に戻ることができます。

コードの実行

すべてのコードブロックはコピーして直接使用できます(テスト済みのPythonファイルです)。

コードを記述またはコピーし、編集してローカルで実行することを**強くお勧めします**。

エディターで使用する際に、**SQLModel**の利点が実際にわかります。コードの節約量、オートコンプリートとエディター内エラーチェックによるエディターサポートのすべてが、多くのバグを防ぎます。

例を実行することで、何が起こっているのかを本当に理解するのに役立ちます。

ここでドキュメント全体を読むよりも、いくつかの例を実行して試してみることで、はるかに多くのことを学ぶことができます。

プロジェクトの作成

このチュートリアルで作業するプロジェクトのディレクトリを作成してください。

通常は、ホーム/ユーザーディレクトリ内にcodeという名前のディレクトリを作成します。

そして、その中にプロジェクトごとに1つのディレクトリを作成します。

例えば

// Go to the home directory
$ cd
// Create a directory for all your code projects
$ mkdir code
// Enter into that code directory
$ cd code
// Create a directory for this project
$ mkdir sqlmodel-tutorial
// Enter into that directory
$ cd sqlmodel-tutorial

ヒント

パッケージの名前と重複しないように、sqlmodelという名前を付けないようにしてください。

Pythonのインストール確認

公式にサポートされているバージョンのPythonがインストールされていることを確認してください。

インストールされているバージョンを確認するには、次のようにします。

$ python3 --version
Python 3.11

複数のPythonバージョンがインストールされている可能性があります。

特定のバージョンを試してみることをお勧めします。例えば

  • python3.12
  • python3.11
  • python3.10
  • python3.9

コードは次のようになります

// Let's check with just python3
$ python3 --version
// This is too old! 😱
Python 3.5.6
// Let's see if python3.10 is available
$ python3.10 --version
// Oh, no, this one is not available 😔
command not found: python3.10
$ python3.9 --version
// Nice! This works 🎉
Python 3.9.0
// In this case, we would continue using python3.9 instead of python3

異なるバージョンがあり、python3が最新ではない場合は、使用可能な最新のバージョン(例:python3.9)を使用してください。

有効なPythonバージョンがインストールされていない場合は、最初にインストールしてください。

Python仮想環境の作成

Pythonコードを記述する際には、常に何らかの方法で仮想環境を使用する必要があります。

それが何かわからない場合は、仮想環境の公式チュートリアルを読むことができます。非常に簡単です。

簡単に言うと、仮想環境とは、Pythonのコピーとコードの実行に必要なすべてのライブラリを含む小さなディレクトリです。

そして、「アクティブ化」すると、例えばpipを使用してインストールするパッケージはすべて、その仮想環境にインストールされます。

ヒント

Poetryなどの仮想環境を管理するための他のツールもあります。

Dockerやその他の種類のコンテナのように、展開に特に役立つ代替手段もあります。この場合、「仮想環境」は、Pythonの標準ファイルとインストールされたパッケージだけでなく、システム全体です。

このプロジェクトのPython仮想環境を作成し、pipをアップグレードしてください。

使用できるコマンドを以下に示します。

// Remember that you might need to use python3.9 or similar 💡
// Create the virtual environment using the module "venv"
$ python3 -m venv env
// ...here it creates the virtual environment in the directory "env"
// Activate the virtual environment
$ source ./env/bin/activate
// Verify that the virtual environment is active
# (env) $$ which python
// The important part is that it is inside the project directory, at "code/sqlmodel-tutorial/env/bin/python"
/home/leela/code/sqlmodel-tutorial/env/bin/python
// Use the module "pip" to install and upgrade the package "pip" 🤯
# (env) $$ python -m pip install --upgrade pip
---> 100%
Successfully installed pip
// Create the virtual environment using the module "venv"
# >$ python3 -m venv env
// ...here it creates the virtual environment in the directory "env"
// Activate the virtual environment
# >$ .\env\Scripts\Activate.ps1
// Verify that the virtual environment is active
# (env) >$ Get-Command python
// The important part is that it is inside the project directory, at "code\sqlmodel-tutorial\env\python.exe"
CommandType    Name    Version     Source
-----------    ----    -------     ------
Application    python  0.0.0.0     C:\Users\leela\code\sqlmodel-tutorial\env\python.exe
// Use the module "pip" to install and upgrade the package "pip" 🤯
# (env) >$ python3 -m pip install --upgrade pip
---> 100%
Successfully installed pip

**SQLModel**のインストール

これで、何らかの方法で仮想環境内にあることを確認した後、**SQLModel**をインストールできます。

# (env) $$ pip install sqlmodel
---> 100%
Successfully installed sqlmodel pydantic sqlalchemy

**SQLModel**はSQLAlchemyPydanticの上に構築されているため、sqlmodelをインストールすると、それらも自動的にインストールされます。

DB Browser for SQLiteのインストール

SQLiteは単一ファイルのシンプルなデータベースであることを覚えていますか?

チュートリアルのほとんどで、例としてSQLiteを使用します。

PythonはSQLiteを統合的にサポートしており、Pythonから読み取られ処理される単一ファイルです。外部データベースサーバーは必要ないため、学習に最適です。

実際、SQLiteは非常に大規模なアプリケーションも処理できます。ある時点で、PostgreSQL(これも無料です)などのサーバーベースのデータベースに移行する必要があるかもしれません。しかし、今はSQLiteを使用します。

チュートリアルでは、SQLフラグメントとPythonの例を示します。そして、実際にそれらを実行し、データベースが期待通りに動作して同じデータが表示されていることを確認することを願っています(そして期待しています🧐)。

Pythonコードとは別に(おそらく同時に)、SQLiteファイル自体を調査できるようにするために、DB Browser for SQLiteを使用することをお勧めします。

これは、SQLiteデータベース(SQLiteファイル)と優れたシンプルなユーザーインターフェースで対話するための優れたプログラムです。

DB Browser for SQLiteをインストールしてください。無料です。

次のステップ

では、始めましょう!次のセクションでは、データベースの作成を始めます。🚀