Pythonでrequirements.txtのすべてを解説する
最近インストールしたpythonはすでにインストールされており、cmdターミナルでpythonやpipなどのコマンドが便利です
(インストールするには python-3.6.5-amd.exe リンクから行うことができます。 https://pan.baidu.com/s/1Fr9kZBXuob0hPNLd9EH8UQ パスワード <スパン fi1g )
しかし、requirements.txtファイルを設定する過程で、 "pip install -r requirement.txt" と記述すると、エラー "が発生します。 要件ファイルを開くことができませんでした。[Errno 2] そのようなファイルまたはディレクトリはありません: 'requirements.txt '"を実行する前に、requirements.txtファイルを作成する必要があるため、先に "pip freeze > requirements.txt" を実行してから、 "pip install -r requirements.txt" を実行してrequirements.txtを構成することが原因であることが判明しました。
requirements.txtの詳細については、以下のとおりです。
はじめに
Python のプロジェクトでは、新しい環境にデプロイするために、依存するすべてのパッケージとその正確なバージョン番号を記録する requirements.txt ファイルを含める必要があります。
主な書き出しはこんな感じです。
pip freeze > requirements.txt # Generate requirements.txt
pip install -r requirements.txt # install dependencies from requirements.txt
対応書き込み
-r base.txt # All packages under base.txt
pypinyin==0.12.0 # Specify the version (the most everyday way to write it)
django-querycount>=0.5.0 # greater than a certain version
django-debug-toolbar>=1.3.1,<=1.3.3 # Version range
ipython # default (exists without replacement, does not exist to install latest version)
サードパーティツールの生成
pip freeze には、不要なパッケージやパッケージの依存関係が含まれます ~。
ピプレックス プロジェクトで参照されるパッケージを自動的に解析します。Django プロジェクトの自動ビルドでは、Mysql パッケージを無視してバージョンがおかしくなり、ネットワーク検索では、404 に遭遇するとエラーバウンスが報告されました。
ピガー 機能は上記の通りですが、パッケージがプロジェクトファイルから参照されている場所を表示します(問題の下の検索は、ああ= =擬似ニーズのように感じて解決することができます)、404問題も存在します。
ピップツール サードパーティのファイルを通してrequirements.txtを生成する、なぜ直接書かないのか、サードパーティのパッケージを通して変換の層を行うために推論する
推奨使用方法
一般的にプロジェクトは、開発環境、テスト環境、本番環境に分けられます。......は、それらに依存する異なるパッケージを持っています。フォルダ内に各環境用のrequirements.txtを作成することをお勧めします。参考までに、公開されているパッケージはbase.txtに存在します。
➜ meeting git:(sync) ✗ tree requirements -h
requirements
├── [ 286] base.txt
├── [ 80] local.txt
└── [ 28] production.txt
上記のようなツールはうまく機能しないので、手動で依存関係リストを管理することをお勧めします。結局のところ、pipのインストール直後に依存性ファイルを編集するのは面倒です。
setup.pyとrequirements.txtの違いについて
setup.pyファイルはモジュールを管理するために使用されます。あなたのプロジェクトをモジュールとしてパッケージングしてpypiにアップロードしたり、pythonのsystem load moduleディレクトリにモジュールとして置いたりすることができます。
requiremens.txt は、あなたのプロジェクトが参照する依存関係のうち、このプロジェクトの一部ではないものをリストアップするファイルですが、それ以外には何も行いません。
つまり、2つのプロジェクトは実際には対立する関係ではなく、共存する必要性が高いことがおわかりいただけると思います。
- プロジェクトがシステムモジュールとして保存される必要がある場合、またはsetup.pyがシステムコマンドとしてインストールできる場合、必須です
- プロジェクトが実行可能な状態であれば、requirements.txtも必須です。
- 両方の機能が必要な場合は、どちらのファイルも必要ありません。
両方の機能が必要ですか?
はい、あるはずです。Flaskなど、両方をサポートするものも多くあります。
- システムコマンドとして起動し、設定後コマンドとして実行できるClickパッケージがFlask 0.11.1で新たに追加された
- 直接実行する、Flask を起動する従来の方法は app.run() または python manage.py runserver です。
関連
-
[解決済み】Python 3でexecfileに代わるものは何ですか?
-
ImportErrorの解決に成功しました。必要な依存関係 ['numpy'] がありません。
-
ローカル画像ズーム用python
-
[解決済み] flask コマンドが使用するホストとポートを変更するにはどうすればよいですか?
-
[解決済み] Python リストの ndim 配列への再形成
-
[解決済み] Virtualenv OSError - setuptools pip wheel failed with error code 1
-
[解決済み] Python scipy: ** や pow() でサポートされていないオペランドタイプ: 'list' や 'list' です。
-
[解決済み] AttributeError: 'tuple' オブジェクトには 'shape' という属性がありません。
-
AttributeError: torchsummary を使用した場合、'list' オブジェクトに 'size' 属性がない。
-
花火、桜、薔薇を美しく実装するPython
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonはWordの読み書きの変更操作を実装している
-
pygame.error:ビデオシステムが初期化されていない場合の解決方法
-
Pythonデータマイニングでよく使われるAutoEDA5つのツールのまとめ
-
[解決済み] 画像を半分に分割しようとすると、「tile cannot extend outside image」エラーが発生します。
-
[解決済み] SQLAlchemy/Elixirでdistinctなカラム値を選択する
-
[解決済み] 変動係数とNumPy
-
[解決済み] Pythonにおけるミューテックスの適切な使用法
-
[解決済み] Airflowで条件付きタスクを作成する方法
-
[解決済み] sklearnのPLSRegressionです。"ValueError:配列にinfやNaNを含んではいけない"
-
ImportError を解決します。redis という名前のモジュールがない