第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

PyCharm 編輯器教程

PyCharm 數(shù)據(jù)庫工具
PyCharm 的數(shù)據(jù)庫工具

使用 PyCharm 進(jìn)行包管理

前面的章節(jié)講述了如何為項(xiàng)目配置解釋器,通常初始的解釋器都繼承于系統(tǒng)解釋器,里面包括一些常用的 Packages。但實(shí)際編寫程序過程中,我們還需要額外安裝一些第三方包,這節(jié)將主要講述如何安裝、升級與刪除包;以及如何通過 requirement.txt 或者 Pipfile 管理包的。

1. 安裝、卸載與升級包

打開項(xiàng)目, 訪問 Preference/Settings -> Project:項(xiàng)目名 -> Python Intepreter

圖片描述

Tips:默認(rèn)情況下,最新版本列僅顯示包的穩(wěn)定版本。如果要將最新可用版本的范圍擴(kuò)展到任何預(yù)發(fā)行版本(比如 beta 版本),就可以點(diǎn)擊第四個(gè)按鈕(圖標(biāo)像眼睛的按鈕)刷新當(dāng)前列表。

1.1 安裝包

點(diǎn)擊按鈕 + ,在打開的"可用包"對話框中,預(yù)覽可用包的列表。
圖片描述

1.2 卸載包

  • 在包列表中,選擇要?jiǎng)h除的包;
  • 單擊 - 按鈕。所選包將從磁盤中刪除。

圖片描述

1.3 升級包

  • 在包列表中,選擇要升級的包;
  • 單擊 工具欄中 三角 按鈕。所選包將被升級到最新版本。

圖片描述

2. 使用 “requirement.txt” 管理包

requirements.txt 文件,用于記錄所有依賴包及其精確的版本號,以便新環(huán)境部署。

2.1 創(chuàng)建當(dāng)前項(xiàng)目的 requirement.txt

點(diǎn)擊菜單 Tool -> Sync Python Requirements,在打開的對話框中,指定要求文件的名稱。需求文件的建議名稱是 requirement.txt。當(dāng)具有此名稱的文件添加到項(xiàng)目根目錄后,Python 集成工具會(huì)自動(dòng)檢測到該文件。
圖片描述

選擇處理所需庫版本的方法??梢远x版本號,通常我們會(huì)選擇等于。 上圖列表中的四項(xiàng)分別代表:

  • 不指定版本;
  • 必須等于當(dāng)前版本;
  • 大于等于當(dāng)前版本;
  • 兼容當(dāng)前版本。

在上圖的對話框中的三個(gè)可選項(xiàng),用來定義管理策略:

圖片描述

  • Remove unused Requirements: 刪除未使用的庫和包的記錄。也就是包安裝了,但在代碼一次也沒使用過,這些包名將不會(huì)出現(xiàn)在 requirement.txt 文件中;
  • Modify base files (defined with -r or – requirement): 允許修改基礎(chǔ)的requirement 文件(如果requirements.txt 任何內(nèi)容都被引用了);
  • Keep existing version specifier if it matches the current version: 如果版本號滿足所選方法版本的處理方式,則保持不變。

點(diǎn)擊 “ok",生成下面的文件:文件中包含了此項(xiàng)目中所使用的的所有的包以及版本信息。
圖片描述

Tips:如果你不想用默認(rèn)的“requirement.txt", 而選擇其它文件名,需要到 Settings/Preferences 下 Tools -> Python Integrated Tools,指定新的名字,這樣包才能被自動(dòng)監(jiān)控。

圖片描述

除此以外, 你也可以在當(dāng)前項(xiàng)目根目錄下,你能在終端控制臺(tái)運(yùn)行 pip freeze > requirements.txt 命令去生成這個(gè)文件。

圖片描述

2.2 更新 requirement.txt

你可以運(yùn)行 Sync Python Requirements 來更新 requirement.txt,但 PyCharm 提供了快速修復(fù)功能。

比如在 Python 文件的 import 語句中,單擊尚未導(dǎo)入的包。PyCharm 建議快速修復(fù):點(diǎn)擊藍(lán)色字體,就會(huì)進(jìn)入 Sync Python Requirements 對話框,參考執(zhí)行上面的步驟,文件會(huì)更新。

圖片描述

3. 使用 Pipfile

Pipfile 文件用于記錄虛擬環(huán)境安裝的軟件包版本。作用類似于 requirements.txt 文件,但 Pipfile 的功能更強(qiáng)大。 Pipfile 是 Pipenv 虛擬環(huán)境用于管理項(xiàng)目依賴項(xiàng)的專用文件,此文件對于使用 Pipenv 至關(guān)重要。當(dāng)新項(xiàng)目或現(xiàn)有項(xiàng)目創(chuàng)建 Pipenv 環(huán)境時(shí),將自動(dòng)生成 Pipfile。該文件將添加到當(dāng)前項(xiàng)目,可以在"Project"工具窗口中看到它。同樣,當(dāng)您第一次使用 PyCharm 中的 Pipfile 文件打開項(xiàng)目時(shí),將根據(jù)文件自動(dòng)配置 Pipenv 虛擬環(huán)境。

step1:PyCharm 為Pipenv 虛擬環(huán)境自動(dòng)創(chuàng)建 Pipfile ,文件如下所示:圖片描述

python_version 參數(shù)是創(chuàng)建新環(huán)境時(shí)指定的基本解釋器的版本。packages 部分是可以列出項(xiàng)目所需的包的位置。url 是下載包的地址。另外, [packages] 和 [dev-packages] 部分之間的區(qū)別是 [packages] 定義了生產(chǎn)和開發(fā)環(huán)境的要求,而 [dev-packages] 僅列出用于開發(fā)目的的要求。

Tips:PyCharm 建議安裝特定于 Pipfile 的插件。單擊相應(yīng)的鏈接,安裝 Toml 的插件:

圖片描述

step2:安裝插件后,格式化顯示文件內(nèi)容。通過修改 packages 部分添加新的包依賴項(xiàng)。

圖片描述

step3:然后在終端控制臺(tái)輸入 pipenv update 或者 pipenv lock

圖片描述

step4:查看包是否被安裝,菜單 Settings/Preferences -> Project <項(xiàng)目名> -> Project Interpreter, 檢查新增加的包已經(jīng)安裝了。

圖片描述

step5:現(xiàn)在嘗試先安裝包再查看pipfile的過程,點(diǎn)擊上圖的 + 按鈕。選擇安裝 libopencv 包:

圖片描述

step6:安裝成功后, 再次查看 Pipfile。可以發(fā)現(xiàn)新安裝的包已經(jīng)自動(dòng)更新了:

圖片描述

Tips:運(yùn)行 pipenv update 后,包安裝同時(shí)會(huì)生成一個(gè)新的文件 Pipfile.lock, 文件內(nèi)容如下圖所示:
圖片描述

Pipfile 與 Pipfile 二者關(guān)系:

  • Pipfile.lock 文件顧名思義是起到版本鎖作用,用于避免版本更新導(dǎo)致不兼容的問題。它詳細(xì)標(biāo)識了該項(xiàng)目的安裝的包的精確版本信息、最新可用版本信息和當(dāng)前庫文件的hash值。換句話說是:凍結(jié)軟件包名稱及其版本,以及其依賴關(guān)系的列表。我們可以看到每個(gè)包都有明確的版本信息。
  • 如果只存在 Pipfile 文件,那么文中標(biāo)識的依賴若為 <包名>="*",意味著沒有版本限制,將會(huì)默認(rèn)安裝最新版本的包。也可指定特定版本。
  • 如果存在 Pipfile.lock 文件,那么將根據(jù) Pipfile.lock 進(jìn)行安裝指定版本的包。切勿手動(dòng)修改 Pipfile.lock文件。
  • 如果 Pipfile.lock 文件不存在或被刪除,可使用 pipenv lock 命令生成。

4. 小結(jié)

本節(jié)主要講了如何維護(hù)項(xiàng)目中的包,包括增刪改查,相對比較簡單, 實(shí)踐幾次基本就可以掌握了。對于requirement.txt 與 pipfile 在實(shí)際項(xiàng)目開發(fā)中是使用頻率是比較高的,這兩個(gè)文件都會(huì)做為項(xiàng)目文件由版本控制工具進(jìn)行管理,在多人協(xié)作項(xiàng)目中,保證所有人的開發(fā)環(huán)境一致性。所以,深入理解并掌握其使用作為程序員是非常必要的。
圖片描述