web-dev-qa-db-ja.com

Python仮想環境のrequirements.txtのコンテンツの管理

だから、まったく新しいFlask=アプリをゼロから作成しています。すべての優秀な開発者が行うように、私の最初のステップは仮想環境を作成することでした。

仮想環境に最初にインストールするのはFlask==0.11.1。 Flaskは、次の依存関係をインストールします。

  • click == 6.6
  • itsdangerous == 0.24
  • Jinja2 == 2.8
  • MarkupSafe == 0.23
  • Werkzeug == 0.11.11
  • wheel == 0.24.0

次に、requirements.txtを作成して、リポジトリのクローンを作成する全員が同じバージョンのライブラリを持つようにします。ただし、私のジレンマは次のとおりです。

  • バージョン番号とともにrequirements.txtのFlask依存関係のそれぞれに言及していますかOR
  • requirements.txtの正確なFlaskバージョン番号に言及し、彼らがpip install requirements.txt Flaskは依存関係管理を行い、適切なバージョンの依存ライブラリをダウンロードします
8
Amistad

どちらのアプローチも有効で機能します。しかし、少し違いがあります。 requirements.txtにすべての依存関係を入力すると、それらのバージョンを固定できます。それらを省略した場合、後で更新される可能性があり、Flaskの依存関係にWerkzeug>=0.11のようなものがある場合、Werkzeugの新しいバージョンがインストールされます。

そのため、更新と定義された環境に帰着します。あなたに合ったものなら何でも。

4
Klaus D.

ここでの良い点の1つは、virtualenvを使用しているため、タスクが非常に簡単になることです。

  1. Virtualenv($source path_to_virtualenv/bin/active
  2. プロジェクトのルートディレクトリに移動します
  3. Requirements.txtの依存関係とともにすべてのパッケージを取得します

    pip freeze > requirements.txt
    
  4. 次のコマンドを使用して、次の人が要件を再帰的にインストールすることを確認する以外に、他のことを心配する必要はありません。

    pip install -r requirements.txt
    
21

(アクティブな仮想環境から)次のことができます

pip freeze > requirements.txt

プロジェクトで使用可能なすべてのライブラリ/モジュールが自動的に処理されます。

次の開発者は次を発行するだけです:

pip install -r requirements.txt
4
hjpotter92