プロジェクトをインストール可能にする—Flaskドキュメント

提供:Dev Guides
< FlaskFlask/docs/1.0.x/tutorial/install
移動先:案内検索

プロジェクトをインストール可能にする

プロジェクトをインストール可能にするということは、プロジェクトの環境にFlaskをインストールしたのと同じように、分布ファイルをビルドして別の環境にインストールできることを意味します。 これにより、プロジェクトのデプロイは他のライブラリのインストールと同じになるため、すべての標準Pythonツールを使用してすべてを管理します。

インストールには、チュートリアルや新しいPythonユーザーとしては明らかではないかもしれない他の利点もあります。

  • 現在、PythonとFlaskは、プロジェクトのディレクトリから実行しているという理由だけで、flaskrパッケージの使用方法を理解しています。 インストールとは、どこから実行してもインポートできることを意味します。
  • プロジェクトの依存関係は他のパッケージと同じように管理できるため、pip install yourproject.whlがそれらをインストールします。
  • テストツールは、テスト環境を開発環境から分離できます。

ノート

これはチュートリアルの後半で紹介されていますが、将来のプロジェクトでは常にこれから始める必要があります。


プロジェクトについて説明する

setup.pyファイルは、プロジェクトとそれに属するファイルを記述します。

setup.py

from setuptools import find_packages, setup

setup(
    name='flaskr',
    version='1.0.0',
    packages=find_packages(),
    include_package_data=True,
    zip_safe=False,
    install_requires=[
        'flask',
    ],
)

packagesは、含めるパッケージディレクトリ(およびそれらに含まれるPythonファイル)をPythonに指示します。 find_packages()はこれらのディレクトリを自動的に検出するため、入力する必要はありません。 静的ディレクトリやテンプレートディレクトリなどの他のファイルを含めるには、include_package_dataを設定します。 Pythonには、この他のデータが何であるかを伝えるために、MANIFEST.inという名前の別のファイルが必要です。

MANIFEST.in

include flaskr/schema.sql
graft flaskr/static
graft flaskr/templates
global-exclude *.pyc

これにより、Pythonはstaticディレクトリとtemplatesディレクトリ、およびschema.sqlファイルのすべてをコピーしますが、すべてのバイトコードファイルは除外します。

使用されるファイルとオプションの別の説明については、公式パッケージガイドを参照してください。


プロジェクトをインストールします

pipを使用して、プロジェクトを仮想環境にインストールします。

pip install -e .

これにより、pipは、現在のディレクトリでsetup.pyを検索し、編集可能または開発モードでインストールするように指示されます。 編集可能モードとは、ローカルコードに変更を加えたときに、依存関係など、プロジェクトに関するメタデータを変更した場合にのみ再インストールする必要があることを意味します。

プロジェクトがpip listでインストールされていることがわかります。

pip list

Package        Version   Location
-------------- --------- ----------------------------------
click          6.7
Flask          1.0
flaskr         1.0.0     /home/user/Projects/flask-tutorial
itsdangerous   0.24
Jinja2         2.10
MarkupSafe     1.0
pip            9.0.3
setuptools     39.0.1
Werkzeug       0.14.1
wheel          0.30.0

これまでのプロジェクトの実行方法から何も変わりません。 FLASK_APPは引き続きflaskrに設定され、flask runは引き続きアプリケーションを実行しますが、flask-tutorialディレクトリだけでなく、どこからでも呼び出すことができます。

テストカバレッジに進みます。