日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

新一代 Python 包管理工具来了!

發(fā)布時(shí)間:2024/9/15 python 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新一代 Python 包管理工具来了! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:費(fèi)弗里

來(lái)源:Python 大數(shù)據(jù)分析

閱讀本文大概需要 4 分鐘。

1 簡(jiǎn)介

說(shuō)起Python的包管理工具,大家第一時(shí)間想到的肯定是pip、conda等經(jīng)典工具。但最近我發(fā)現(xiàn)了一款新穎的Python包管理工具——pdm,它受到PEP582(https://www.python.org/dev/peps/pep-0582/)以及node管理庫(kù)文件方式的啟發(fā),幫助我們以「本地項(xiàng)目庫(kù)」的形式創(chuàng)建及管理不同的Python環(huán)境。

2 使用pdm管理項(xiàng)目庫(kù)環(huán)境

2.1 pdm的安裝

pdm的安裝方式多種多樣,這里我們使用官方推薦的方式進(jìn)行安裝:

python?-m?pip?install?--user?pipx python?-m?pipx?ensurepath

接著關(guān)閉你的終端重開(kāi)一個(gè)新的,繼續(xù)輸入:

pipx?install?pdm

當(dāng)出現(xiàn)以下內(nèi)容時(shí),則代表我們的pdm已經(jīng)安裝完成了~

2.2 pdm的基礎(chǔ)使用

使用pdm以當(dāng)前目錄作為項(xiàng)目倉(cāng)庫(kù)創(chuàng)建項(xiàng)目時(shí),我們需要根據(jù)項(xiàng)目實(shí)際需要,先切換到對(duì)應(yīng)Python版本的環(huán)境之下,再執(zhí)行pdm init來(lái)初始化項(xiàng)目,以3.7為例:

cd?C:\Users\pengz\Desktop\當(dāng)期博客工作臺(tái)\pdm-demo conda?activate?dash-apps pdm?init

初始化項(xiàng)目時(shí),根據(jù)自己的實(shí)際情況填寫(xiě)每個(gè)問(wèn)題即可:

上述過(guò)程之后,你會(huì)在當(dāng)前目錄下發(fā)現(xiàn)創(chuàng)建好的pyproject.toml文件,它記錄了當(dāng)前pdm項(xiàng)目的各項(xiàng)基本參數(shù):

接下來(lái)我們可以根據(jù)自己項(xiàng)目的實(shí)際需要使用pdm add命令來(lái)安裝指定的單個(gè)或多個(gè)第三方Python庫(kù),以flask為例(其中第一行命令用于設(shè)置國(guó)內(nèi)pypi鏡像源):

pdm?config?pypi.url?https://pypi.douban.com/simple/ pdm?add?-v?flask?flask-login

完成安裝后,我們可以在當(dāng)前目錄下看到__pypackages_目錄,我們前面所安裝的庫(kù)就隔離安裝在其下面,類(lèi)似node的node_modules目錄:

也與PEP582所倡導(dǎo)的項(xiàng)目結(jié)構(gòu)相符合:

foo__pypackages__3.7libbottlemyscript.py

這樣就實(shí)現(xiàn)了項(xiàng)目級(jí)別的環(huán)境隔離效果,且無(wú)需創(chuàng)建額外的虛擬環(huán)境,要在IDE中使用pdm項(xiàng)目下的本地隔離庫(kù)執(zhí)行程序很簡(jiǎn)單,以pycharm為例,將pdm項(xiàng)目打開(kāi)為pycharm工程之后,找到如圖所示位置的lib文件夾,將其標(biāo)記為Sources Root即可,同時(shí)記得將解釋器選為pdm init初始化時(shí)所在環(huán)境相對(duì)應(yīng)的:

與終端中原始環(huán)境的執(zhí)行結(jié)果對(duì)比,可以發(fā)現(xiàn)成功實(shí)現(xiàn)了環(huán)境隔離,這是因?yàn)閜dm項(xiàng)目的__pypackages__中的包會(huì)在環(huán)境本身的site-packages之前被載入,從而更好地隔離包的環(huán)境:

如果你想要在其他路徑或其他機(jī)器上還原某個(gè)pdm項(xiàng)目,則僅需要將pyproject.toml與pdm.lock文件拷貝過(guò)去,再在對(duì)應(yīng)目錄下執(zhí)行pdm sync -v命令即可,非常的方便,類(lèi)似npm install配合package.json的功能:

關(guān)于pdm的更多特性你可以前往其官網(wǎng)https://pdm.fming.dev/了解更多

各位伙伴們好,詹帥本帥搭建了一個(gè)個(gè)人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請(qǐng)移步小程序體驗(yàn)一下哦!(歡迎提建議)

推薦閱讀

牛逼!Python常用數(shù)據(jù)類(lèi)型的基本操作(長(zhǎng)文系列第①篇)

牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長(zhǎng)文系列第②篇)

牛逼!Python函數(shù)和文件操作(長(zhǎng)文系列第③篇)

牛逼!Python錯(cuò)誤、異常和模塊(長(zhǎng)文系列第④篇)

總結(jié)

以上是生活随笔為你收集整理的新一代 Python 包管理工具来了!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。