2015-07-18 69 views
2

每當我google導入X軟件包/模塊時,我總會看到一堆關於使用pip或shell命令的教程。但我總是把下載的文件放到site-packages文件夾中,當我在PyCharm中使用'import'時,它工作得很好。在Python中安裝軟件包 - Pip/cmd vs將文件放在Lib/site-packages中

我想知道的原因是因爲我今天正在下載NumPy,當我剛剛以我一直在做的方式複製文件時,PyCharm沒有顯示任何錯誤。我只是想知道我是否誤解了安裝軟件包的整個概念。

編輯:謝謝你的回答!我現在正在學習如何使用pip。

回答

2

軟件包管理器解決了依賴性和卸載等問題。

此外,使用pip安裝軟件包時,軟件包通常使用setup.py腳本構建。雖然它可能不是純Python模塊的問題,但是如果包中包含任何擴展模塊或其他一些自定義內容,則將文件複製到site-packages就不會起作用(我實際上不確定它爲什麼在numpy的情況下起作用,因爲它確實包含C擴展模塊)。

2

使用包管理器(pip)的要點之一是可移植性。使用pip,你只需在你的項目中加入requirements.txt,你就可以在任何機器上工作,無論是Windows,Linux還是Mac。當轉移到新的環境/操作系統時,pip將負責爲您正確安裝軟件包;請注意,軟件包可以具有特定於操作系統的步驟,因此,當您移動到另一個操作系統時,複製粘貼的Windows設置可能會有效。

此外,使用您的複製粘貼方法,您隨處可以隨身攜帶大部分依賴項。我想如果你想切換機器(不一定是OS),你可以把的所有東西從項目代碼複製到依賴關係。使用pip,您可以保持工作目錄的精簡,所有這些都是以單個requirements.txt爲代價的。