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

在阅读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
迷茫
迷茫

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

répondre à tous(3)
伊谢尔伦

La question de savoir si cette question est nécessaire dépend en fait de la nature du projet. De manière générale, il y aura les deux, et il est préférable d'avoir les deux.

setup.py Ce fichier est utilisé pour gérer les modules. Vous pouvez empaqueter votre projet en tant que module et le télécharger sur pypi. Vous pouvez également placer le projet en tant que module dans le répertoire du module de chargement du système Python.

requiremens.txt Ce fichier répertorie les dépendances hors projet auxquelles votre projet fait référence. À part cela, il n'a aucune autre fonction.

On voit donc qu'il n'y a pas de conflit entre ces deux projets, et qu'il y a un grand besoin de coexister.

  • Ceci est essentiel si votre projet doit être enregistré en tant que module système ou peut être installé en tant que commande système setup.py

  • Si votre projet peut être exécuté directement, alors requirements.txt est également essentiel.

  • Si vous avez besoin des deux fonctions, alors les deux fichiers ne peuvent pas manquer.

Avez-vous besoin des deux fonctions ?

Il doit y en avoir une, et il y en a bien d'autres. Par exemple, Flask prend en charge deux méthodes :

  • Démarrer en tant que commande système. Un nouveau package Click a été ajouté dans Flask 0.11.1, ce qui vous permet de l'exécuter en tant que commande après l'installation

  • est exécuté directement. La méthode de démarrage traditionnelle Flask est généralement app.run() ou python manage.py runserver

  • .

J'espère que cela sera utile à celui qui pose la question.


Supplément :

En fait, setup.py aura également une liste de dépendances, il n'y a donc pas lieu de s'inquiéter d'être associé à requirements.txt lors de l'installation, car il n'est pas nécessaire de l'associer, l'auteur l'a déjà écrit en setup.py.

小葫芦

J'ai vu que le fichier Requirements.txt est indispensable. Il déclare les bibliothèques tierces introduites par votre projet. En tant qu'application Web Flask, setup.py ne semble pas avoir de sens. . .

Ty80

setup.py consiste à installer des modules écrits par vous-même, généralement en exécutant sudo python setup.py install,

requirements.txt indique les modules dont dépend ce module. Généralement, exécutez sudo pip install -r requirements.txt pour installer les modules dépendants.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal