2017-04-27 24 views
15

我開始使用python。我在我的項目中添加了require.txt和setup.py。但我仍然對這兩個文件感到困惑。我得到了一些信息,如setup.py是爲可再發行的東西而設計的,而且requirements.txt是爲非可再發行的東西而設計的。但我不知道這是否正確。requirements.txt vs setup.py

可以請幫幫我。

+0

hi @lucy歡迎來到SO ...您需要創建[mvce](https://stackoverflow.com/help/mcve) –

+0

您是否使用確切的標題搜索了網頁? [本文](https://caremad.io/posts/2013/07/setup-vs-requirement/)(我搜索時的第一次打)是我讀過的最好的主題。 – Chris

+1

本文可能有用:https://caremad.io/posts/2013/07/setup-vs-requirement/(對不起,懶得提取必需品到正確的答案)。另一件事是,有些工具(例如測試)可能會對其中一個或另一個產生偏見 - 但是如果您剛開始使用Python,不要讓它煩擾您。 – drdaeman

回答

10

requirements.txt

這可以幫助你建立你的開發環境。像pip這樣的程序可以用於一次性安裝文件中列出的所有軟件包。之後,你可以開始開發你的Python腳本。

setup.py

這允許你創建包,你可以重新分配。此腳本旨在安裝您的軟件包,而不是像pip -r < requirements.txt那樣準備開發環境。 有關setup.py的更多詳細信息,請參閱this answer

項目的依賴關係列在兩個文件中。

+0

在哪些情況下,我只有其中一個?我會在哪兩個? –

+1

呃......你只是在本地機器上玩的腳本:都不是。腳本是在多臺機器/ vitualenvs上開發的,但沒有重新分配:requirements.txt。腳本僅在您的機器上開發,但應重新分配:setup.py。腳本將在多個環境中重新分配和開發:兩者。 – AndreasT

+0

您可以將此添加到答案嗎? –