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

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

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

membalas semua(3)
伊谢尔伦

Sama ada soalan ini perlu sebenarnya bergantung pada sifat projek Secara umumnya, akan ada kedua-duanya, dan yang terbaik adalah mempunyai kedua-duanya.

setup.py Fail ini digunakan untuk mengurus modul Anda boleh membungkus projek anda sebagai modul dan memuat naiknya ke pypi Anda juga boleh meletakkan projek sebagai modul ke dalam direktori modul pemuatan sistem Python.

requiremens.txt Fail ini menyenaraikan kebergantungan bukan projek yang dirujuk oleh projek anda Selain daripada itu, ia tidak mempunyai fungsi lain.

Oleh itu, dapat dilihat bahawa tidak ada konflik antara kedua-dua projek ini, dan terdapat keperluan besar untuk wujud bersama.

  • Ini penting jika projek anda perlu disimpan sebagai modul sistem atau boleh dipasang sebagai arahan sistem setup.py

  • Jika projek anda boleh dijalankan secara langsung, maka requirements.txt juga penting.

  • Jika anda memerlukan kedua-dua fungsi, maka kedua-dua fail tidak boleh hilang.

Adakah anda memerlukan kedua-dua fungsi?

Mesti ada satu, dan terdapat banyak lagi. Contohnya, Flask menyokong dua kaedah:

  • Mulakan sebagai arahan sistem Pakej Klik baharu telah ditambahkan dalam Flask 0.11.1, yang membolehkan anda menjalankannya sebagai arahan selepas persediaan

  • dijalankan secara langsung Kaedah permulaan Flask tradisional biasanya app.run() atau python manage.py runserver

  • .

Semoga ia berguna kepada yang bertanya.


Tambahan:

Malah, setup.py juga akan mempunyai senarai kebergantungan, jadi tidak perlu risau tentang dikaitkan dengan requirements.txt semasa persediaan, kerana tidak perlu mengaitkan ini, pengarang sudah menulisnya dalam setup.py.

小葫芦

Saya melihat bahawa requirements.txt adalah satu kemestian Ia mengisytiharkan perpustakaan pihak ketiga yang diperkenalkan oleh projek anda. Sebagai aplikasi web flask setup.py nampaknya tidak masuk akal. . .

Ty80

setup.py ialah memasang modul yang ditulis sendiri, biasanya dengan melaksanakan sudo python setup.py install,

requirements.txt menunjukkan modul yang bergantung pada modul ini Secara amnya, jalankan sudo pip install -r requirements.txt untuk memasang modul bergantung.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan