在PyCharm中配置項目(十五):管理項目依賴性
PyCharm是一種Python IDE,其帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具。此外,該IDE提供了一些高級功能,以用于Django框架下的專業(yè)Web開發(fā)。
PyCharm最新版本2019.3現(xiàn)已發(fā)布,增加用于Jupyter筆記本的交互式小部件,MongoDB支持以及所有Python 3.8功能的代碼幫助,還有其他功能改進提高Python語言開發(fā)效率!小編已將PyCharm2019.3安裝包上傳至慧都官網(wǎng),感興趣的朋友歡迎下載體驗~
管理項目依賴性
PyCharm使跟蹤項目中未滿足的依賴關(guān)系成為可能,并提供與主要依賴關(guān)系管理方法的集成。requirements.txt 和Pipfile。
-
requirements.txt包含應(yīng)用程序依賴的一組軟件包。將具有該名稱的文件添加到項目根目錄后,Python Integrated tools會自動檢測到該文件 。
有關(guān)詳細說明,請參見使用requirements.txt。
-
Pipfile僅適用于具有Pipenv虛擬環(huán)境的項目。它還可以管理項目依賴項集。但是,此工具通過創(chuàng)建項目環(huán)境的精確快照(包括哈希碼和確切的程序包版本),為安全敏感的部署提供了更多功能。
有關(guān)詳細說明,請參見使用pipfile。
PyCharm使跟蹤項目中未滿足的依賴關(guān)系成為可能,并提供與主要依賴關(guān)系管理方法的集成。
定義要求
1、在您的項目的根目錄中創(chuàng)建一個新文件。
2、在“ 新建文件”對話框中,指定文件名。需求文件的建議名稱是requirements.txt。將具有該名稱的文件添加到項目根目錄后,Python Integrated tools會自動檢測到該文件。
3、以純文本形式鍵入所需軟件包的名稱,例如:
Django==2.0.3 Flask==0.12.2
請注意,支持遞歸需求語法:您可以使用主需求文件,并在-r語法中包含其他需求 。
您也可以pip freeze > requirements.txt在命令行中運行以為您的項目生成requirements.txt文件。
如果需求文件的名稱不同于requirements.txt,或者在一個項目中有多個需求文件,則必須將要應(yīng)用的需求文件通知PyCharm。
配置默認需求文件
1、打開設(shè)置/首選項對話框,Ctrl+Alt+S然后選擇 工具| Python集成工具。
2、在打包需求文件字段中,輸入需求文件的名稱或單擊瀏覽按鈕并找到所需的文件。
3、單擊確定保存更改。
盡管您可以根據(jù)依賴項管理文件的語法來編輯它們,但是PyCharm提供了快速修復(fù)程序,可以填充這些文件。
填充依賴性管理文件
1、創(chuàng)建setup.py或requirements.txt,如部分所述創(chuàng)建并運行setup.py和 定義需求。
2、在importPython文件的語句中,單擊尚未導(dǎo)入的包。PyCharm建議快速修復(fù):
3、選擇并應(yīng)用建議的快速修復(fù)。程序包已添加到依賴項管理文件中。
PyCharm提供了與不滿意的依賴項有關(guān)的快速修復(fù)和通知。
安裝所需的軟件包
啟用包裝要求檢查后,將顯示通知欄。您可以在“ 首選項/設(shè)置” |“設(shè)置”中啟用它。編輯器 檢查對話框。
1、打開一個指定了需求文件的項目,在編輯器中打開的任何Python或需求文件的頂部都會顯示一個通知欄:
2、單擊提供的鏈接之一,以滿足或忽略要求。
使用pipfile
Pipfile是Pipenv虛擬環(huán)境 用于管理項目依賴項的專用文件。該文件對于使用Pipenv是必不可少的。當為新項目或現(xiàn)有項目創(chuàng)建Pipenv環(huán)境時, 會自動生成Pipfile。同樣,當您第一次在PyCharm中打開帶有Pipfile文件的項目時,Pipenv虛擬環(huán)境將自動配置。
考慮一項從頭開始創(chuàng)建依賴項列表的任務(wù)。
在Pipfile中記錄依賴項以管理項目包1、當PyCharm為新的pipenv虛擬環(huán)境創(chuàng)建Pipfile時,該文件如下所示:
該python_version參數(shù)是您在創(chuàng)建新的pipenv環(huán)境時指定的基本解釋器的版本。在此packages部分中,您可以列出項目所需的軟件包。
2、請注意,PyCharm建議您安裝特定于Pipfile的插件。單擊相應(yīng)的鏈接以安裝Tom的“最小語言”(TOML)的插件。您必須重新啟動PyCharm才能啟用插件。重新啟動后,您將看到確認確認Pipfile格式的消息:
3、通過修改此packages部分來添加新的程序包依賴性。
[packages] django = "*"4、每當您修改Pipfile文件時,PyCharm都會建議以下操作之一:
- pipenv lock—將新要求記錄到Pipfile.lock文件中。
- pipenv update—將新要求記錄到Pipfile.lock文件中,并將缺少的依賴項安裝在項目解釋器上。
這一步非常重要,因為PyCharm根據(jù)Pipfile.lock文件中記錄的信息來管理項目依賴 項。因此,添加到Pipfile但未鎖定的任何要求都將被忽略。
讓我們選擇pipenv update命令來安裝Django軟件包。
5、確保Django在已安裝軟件包的列表中。 在“設(shè)置/首選項”對話框中 Ctrl+Alt+S,展開“ 項目<項目名稱>”節(jié)點,單擊“ 項目解釋器”,然后檢查軟件包列表。
6、現(xiàn)在探索相反的工作流程。在“ 項目解釋器”對話框中,單擊以添加Flask包。請注意,pipenv使用標準過程限制配置索引。所有可用的軟件包都是從Pipfile中指定的源中添加的。這些軟件包是通過pipenv而不是pip進行安裝,刪除和更新的。
7、一旦添加了Flask軟件包,請關(guān)閉“ 可用軟件包”對話框并查看Pipfile。[packages]現(xiàn)在,該部分如下所示:
[packages] django = "*" flask = "*"
應(yīng)用依賴
考慮一種情況,當您簽出或更新了項目源文件并看到以下消息:
因此,PyCharm報告您的虛擬環(huán)境不滿足當前版本的Pipfile中列出的要求。
2、單擊Pipfile.lock中的安裝要求以安裝缺少的軟件包。
您可能已經(jīng)注意到,沿Pipfile,該Pipfile.lock文件需要在管理pipenv項目需求的關(guān)鍵重要作用。每次執(zhí)行pipenv lock或時pipenv update,都會獲取虛擬環(huán)境的當前快照。檢查以下片段:
該文件記錄了為項目安裝的軟件包的確切版本。它還生成了哈希碼,以促進應(yīng)用程序的安全部署。從不受信任的源下載依賴項時,哈希碼用于確保項目文件受信任。