python - setup.py 与 requirements.txt 区别
迷茫
迷茫 2017-04-18 09:33:40
0
3
663

在阅读Kenneth Retiz写的ptyhon最佳实践文章中关于如何构建一个好的目录结构的时候,发现有这样一个问题,可以同时存在setup.py文件以及requirements.txt文件,想请问一下这两者之间有什么区别与联系。
例如有下面这样的一个flask应用目录结构,setup.py与requirements.txt两个文件同时存在是否有必要?

├── app
├── docs
├── test
├── config.py
├── manage.py
├── requirements.txt
├── setup.py
├── Makefile
├── README.md
└── LICENSE
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(3)
伊谢尔伦

この質問が実際に必要かどうかは、プロジェクトの性質によって決まります。一般的には両方あり、両方あるのが最善です。

setup.py このファイルはモジュールを管理するために使用されます。プロジェクトをモジュールとしてパッケージ化して pypi にアップロードすることもできます。また、プロジェクトをモジュールとして Python システムのロード モジュール ディレクトリに置くこともできます。

requiremens.txt このファイルには、プロジェクトが参照する非プロジェクト依存関係がリストされます。それ以外には、他の機能はありません。

したがって、これら 2 つのプロジェクトの間には矛盾はなく、共存する必要性が非常に高いことがわかります。

  • これは、プロジェクトをシステム モジュールとして保存する必要がある場合、またはシステム コマンドとしてインストールできる場合に不可欠です setup.py

  • プロジェクトを直接実行できる場合は、requirements.txt も必須です。

  • 両方の関数が必要な場合は、両方のファイルが不足することはありません。

両方の機能が必要ですか?

必ず 1 つありますが、他にも多数あります。たとえば、Flask は 2 つのメソッドをサポートしています。

  • システム コマンドとして開始 新しい Click パッケージが Flask 0.11.1 に追加され、セットアップ後にコマンドとして実行できるようになります。

  • は直接実行されます。従来の Flask 起動方法は通常、app.run() または python manage.py runserver

  • です。

これが質問者にとって役立つことを願っています。


補足:

実際、setup.py には依存関係のリストもあるので、セットアップ中に requirements.txt に関連付けられるかどうかを心配する必要はありません。これを関連付ける必要はなく、作成者がすでに作成しているためです。 setup.pyで。

いいねを押す +0
小葫芦

requirements.txt は必須であることが分かりました。プロジェクトにどのサードパーティ ライブラリを導入するかを宣言します。 Flask Web アプリケーションとして、setup.py は意味がないようです。 。 。

いいねを押す +0
Ty80

setup.py は自分で作成したモジュールをインストールします。通常は sudo python setup.py install

を実行します。

requirements.txt は、このモジュールが依存するモジュールを示します。通常、依存するモジュールをインストールするには、sudo pip install -r requirements.txt を実行します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート