フラスコ静止API:プロジェクト基盤


この投稿方法

  • このポストは、Pythonとフラスコを使用してREST APIを作成する方法を解剖するシリーズの一部です.
  • 各々のポストは、読者が読まれて、シリーズのすべての前のポストを理解したという仮定の下で書かれます.
  • 道に沿ったあらゆる選択を説明しようと思います.あなたが私が何かを残したと感じるならば、下記のコメントで言及してください.
  • 各セクションでは、なぜ説明し、どのように特定の技術や技術を使用する.あなたが既に快適であるセクションをスキップすること自由に感じなさい.
  • このシリーズに対して生成されたソースコードはGithubにあります.
  • ダバンティー / Pythonレスト


    基本的なフラスコ休息APIを示しているサンプルプロジェクト


    こんにちは!私はフラスコについて追跡するためにこのレポを作成しました、しかし、私はそれを終えて、決して決しません.私は実際には、Pythonの残りのAPIを作成するには本当に素晴らしい経験のために同じことをお勧めします.
    View on GitHub

    このポストで


    このポストの終わりまでに、あなたはどのように私がパイソンプロジェクトをセットアップして、ベース技術とテクニックのために私の正当性のいくらかを読むかに関する基礎を見ます.私はこのポストのためのテストでは、基本的な実行フラスコアプリを取得するためのものだが、私は休暇にしているので、次のポストになる時間が不足している.私がカバーするものは、ここにあります:
  • 残り
  • Python
  • パイン
  • パイク
  • プロジェクト構造
  • フラスコ
  • 残り


    Web APIを作成するための複数のテクニックがあります.私は試してみて、すべての長所と異なる方法の短所をカバーすることはありませんが、全体の書籍を比較することができます比較対照.私は、2つの主な理由のためにAPIをつくるとき、残りを使います:
  • それは、技術ではなく、概念であるため、基本的に任意のプログラミング言語を使用して、残りのAPIを消費し、生成することができます.
  • それは非常に成熟した意味の良いツールのトンが利用可能ですトン
  • Python


    Pythonを使う理由がいくつかあります( Pythonを使用しない).彼らは、私がここに入るよりはるかに詳細にインターネットを通して見つかることができます.すべてのデザイン決定を説明するという私の約束に忠実であるために、私がそれについて好きである若干のものの速いリストは、ここにあります
  • 解釈されて、それは非常に柔軟で、クロスプラットフォームで、デバッグするのが非常に簡単です
  • 成熟したWebフレームワーク生態系がある
  • ほとんどすべてのパッケージの負荷があります
  • あなたのAPIを消費したがっている人々のために便利であるかもしれないデータ科学者に人気があります.
  • 私は仕事のためにそれを使用するので、私は非常に快適です
  • パイン


    最も深刻なPython開発者は、一度に開発マシン上のPythonの複数のバージョンを管理する必要があります.あなたが詩を使っているならば、あなたは、これをするいくつかのツールを持っている必要があります.私はMacOSを使用します、そして、私がそのオペレーティングシステムでこれをするために見つけた最高の方法は、pyenvと呼ばれているツールを使用しています.始めるのは本当に簡単です.
  • Homebrewをインストールします/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • pyenvをインストールします.brew install pyenv
  • シムを有効にするecho -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
  • シェルを再起動
  • Pythonのバージョンをインストールpyenv install 3.7.3
  • パイク


    ここで別の分割と主観的なトピック:エディタ.私はJetbrainsによってPyChargerを使います.私が最初にPythonを書き始めたとき、私は多くの異なるエディタを試みました、そして、それは最も好きでした.それは機能のトンを持って、そのうちのいくつかは、後で表示されます.試してみたいなら、there is a free version , さもなければ、私が言及するPyCharger特有のビットをスキップするか、選択のあなたのエディタに相当するものを見つけてください.

    プロジェクト構造


    これは私が十分に、プロジェクトの構造について話を取得しないと思うトピックです!ほとんどのPythonチュートリアルでは、フォルダにコードの束を置くだけで実行します.これは、可能な限り高速で使用可能なコードを書く人を得るのに最適ですが、持続可能ではありません.私は自分の目的にかかわらず、私のPythonプロジェクトの全てを構造化します.このように少し見えます.
    python-rest
    |-- README.md
    |-- pyproject.toml
    |-- python_rest
    |   `-- __init__.py
    `-- tests
        `-- conftest.py
    
    ここで「パッケージ名」は「Python REST」です.アプリケーションの論理(実行中の本当のコード)はモジュール"Pythonstra rest "に入ります.プロジェクトのメタデータはパッケージのルートに入ります.テストディレクトリに移動します.パッケージ名は通常、ハイフンで区切られており、モジュール名はSnakeRankケースです.誰もがこの大会に続きませんが、私がそれを拾ったのは、十分に一般的です.ここでは、すべてのプロジェクトのパッケージ構造を使用する利点について説明します.
  • それはビジネスロジックを他のすべてから切り離します
  • それはあなたが簡単に出版/展開(例えばホイール)のバンドルされた形式のいくつかの並べ替えにプロジェクトを構築することができます.
  • すべてが適切なパッケージにあるため、常に相対的なインポートと適切な名前の間隔を使用することができます(一貫していない場合は常にこのようなものをポップアップする問題).

  • 詩を使用するための私の正当性のすべてはすでにPythonパッケージ管理についてのシリーズでバンドルされています.


    詩から始めましょう.
  • インストールcurl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
  • シェルを再起動
  • プロジェクトディレクトリへ
  • 自分を作るpyproject.toml : poetry init
  • あなたはいくつかの質問を聞いて、ちょうどそれらを埋める
  • Pythonの正しいバージョンを使用するためにPyEnvを設定します.pyenv local 3.7.3
  • 詩を設定して、仮想環境をプロジェクトディレクトリに配置します.poetry config settings.virtualenvs.in-project true
  • 仮想環境を作成しますpoetry install
  • 仮想環境を使用するPyChargerを教えてください
  • オープン設定
  • プロジェクト・インタプリタ
  • 右上の小さなギアをクリックして
  • 仮想環境を選択
  • それはしばしば自動選択します.Venvフォルダ.そうでなければ、/を参照する必要があります.Venv/bin/python
  • 完了!あなたは仮想環境を設定し、依存関係を追加を開始する準備が整いました.

    フラスコ


    フラスコは、最も人気のあるPythonのWebフレームワークの一つです(私はそれが今のジャンゴの右側の2つの右側です).そのデザイン哲学は、あなたが望むどんな機能も加えるために拡張の巨大なライブラリで比較的小さな芯を持つことです.それは始めるために最も簡単なものではありませんが、それは非常に強力です.
  • プロジェクトにフラスコを追加しますpoetry add flask
  • あなたは、詩があなたの仮想環境にそれをインストールすることに注意してくださいあなたのpyproject.toml ファイルを依存関係として指定し、poetry.lock ファイル.

    Sorry this post doesn't get you anything you can run yet. As I said at the beginning, I ran out of time. I'll try to get the next post up faster so you can see how Flask actually works!