當前位置:
首頁 > 最新 > 如何解決Python包依賴問題

如何解決Python包依賴問題

以簡潔高效(指編程較為高效, 而不是運行速度)出名的Python, 在包依賴問題上有時候讓人撓頭.

一些新手複製了Github上的項目準備運行, 很多時候會在包依賴這一步上卡個半天.

(這裡推薦新手最好在基於Linux的系統或者Mac上, 一些包[比如Scrapy的Win32相關依賴]可能無法直接通過包管理工具安裝, 會讓新手從入門到放棄).

其他涉及到項目需要到其他機器部署時, 也會遇到包依賴問題.


這個命令可能是很多同學用來輸出依賴的命令, 但它輸出的是當前環境下(筆者默認你使用的是Python的虛擬環境)的所有包, 也就是輸出當前你安裝的全部非Python標準庫包)

筆者在自己終端上試了一下, 輸出的文件如下: (這裡暴露了我沒有按項目建虛擬環境的爛習慣(逃)

對於按項目建環境的同學, 這種輸出方式是沒有多大問題的.

只要部署的時候在終端鍵入 就可以安裝好依賴了, 但是對於沒有嚴格區分項目環境的同學, 一次性安裝了其他的包, 並不是一個好的解決方案.


如這個庫的名稱所示, 就是為了方便管理依賴而生.

與pip直接導出全部不同, pipreqs只導出指定項目下Python文件import的庫用法如下

這裡我切換到一個Django項目目錄下, 打開requirements.txt, 內容是:

瞬間清爽不少.


Pipenv, 彙集了Pip,Pipfile和Virtualenv的功能,是一個強大的命令行工具。

這裡展示最簡單的用法

安裝好庫.

切換到項目根目錄

終端鍵入

如果你尚未建立 那麼將會得到一個空白的 文本文件

此時我們在命令行中使用 , 會在Pipefile寫入對應包信息, 之後用戶要安裝依賴時, 使用 即可.

如果你已經建立, 終端上會輸出以下信息:

上面的輸出意思是:

找到了requirements.txt, 但不是Pipfile, 正在轉換...Pipefile現在將包含固定版本信息, 如果你的requirements.txt中已包含.我們推薦升級你的Pipefile到指定版本...

輸出Pipenv文件, 得到以下內容:

可以清楚的看到整個文件結構

第一個是[source]是安裝庫所在源, 第二個是依賴庫的信息, 第三個是當你開發環境所需要的包, 最後一個是Python版本.

當你需要區分開發環境和正式版本發布環境時, 可以使用以下命令:

如果正式版本發布時, 鍵入 , 將不會安裝dev標記的包除非其他開發人員鍵入 , 才會安裝所有包.

入門小白, 歡迎大家指出錯誤, 技術交流

今日作者: 光光同學_

不愛看電影的攝影師不是好的程序員

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

整理的最全 python常見面試題
關於Python的20個關鍵詞和45個最佳案例

TAG:Python |