欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

新一代Python包管理工具

 更新時(shí)間:2022年02月16日 12:05:33   作者:費(fèi)弗里  
這篇文章主要介紹了新一代Python包管理工具,Python包管理工具,一般就會(huì)想到想到pip、conda等經(jīng)典工具,本篇文章要介紹的是一款新穎的Python包管理工具pdm,需要的小伙伴可以參考一下

1 簡(jiǎn)介

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

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

2.1 pdm的安裝

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

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

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

pipx install pdm

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

2.2 pdm的基礎(chǔ)使用

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

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

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

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

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

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

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

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

foo
? ? __pypackages__
? ? ? ? 3.7
? ? ? ? ? ? lib
? ? ? ? ? ? ? ? bottle
? ? myscript.py

這樣就實(shí)現(xiàn)了項(xiàng)目級(jí)別的環(huán)境隔離效果,且無需創(chuàng)建額外的虛擬環(huán)境,要在IDE中使用pdm項(xiàng)目下的本地隔離庫執(zhí)行程序很簡(jiǎn)單,以pycharm為例,將pdm項(xiàng)目打開為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文件拷貝過去,再在對(duì)應(yīng)目錄下執(zhí)行pdm sync -v命令即可,非常的方便,類似npm install配合package.json的功能:

到此這篇關(guān)于新一代Python包管理工具的文章就介紹到這了,更多相關(guān)新一代Python包管理工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中面向?qū)ο竽銘?yīng)該知道的一下知識(shí)

    Python中面向?qū)ο竽銘?yīng)該知道的一下知識(shí)

    這篇文章主要介紹了Python中面向?qū)ο竽銘?yīng)該知道的一下知識(shí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 在pycharm中python切換解釋器失敗的解決方法

    在pycharm中python切換解釋器失敗的解決方法

    今天小編就為大家分享一篇在pycharm中python切換解釋器失敗的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python中創(chuàng)建字典的幾種方法總結(jié)(推薦)

    Python中創(chuàng)建字典的幾種方法總結(jié)(推薦)

    下面小編就為大家?guī)硪黄狿ython中創(chuàng)建字典的幾種方法總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Python計(jì)算兩個(gè)日期相差天數(shù)的方法示例

    Python計(jì)算兩個(gè)日期相差天數(shù)的方法示例

    這篇文章主要介紹了Python計(jì)算兩個(gè)日期相差天數(shù)的方法,結(jié)合簡(jiǎn)單實(shí)例形式分析了Python日期時(shí)間的轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • Python進(jìn)程池基本概念

    Python進(jìn)程池基本概念

    這篇文章主要介紹了Python進(jìn)程池基本概念,當(dāng)創(chuàng)建的子進(jìn)程數(shù)量不多時(shí),可以直接利用多處理進(jìn)程中的進(jìn)程動(dòng)態(tài)形成需要的進(jìn)程,下文關(guān)于Python線程池的概念做詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-03-03
  • python 殺死自身進(jìn)程的實(shí)現(xiàn)方法

    python 殺死自身進(jìn)程的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇python 殺死自身進(jìn)程的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 正則化DropPath/drop_path用法示例(Python實(shí)現(xiàn))

    正則化DropPath/drop_path用法示例(Python實(shí)現(xiàn))

    DropPath 類似于Dropout,不同的是 Drop將深度學(xué)習(xí)模型中的多分支結(jié)構(gòu)隨機(jī)"失效",而Dropout是對(duì)神經(jīng)元隨機(jī)"失效"這篇文章主要給大家介紹了關(guān)于正則化DropPath/drop_path用法的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • python3連接kafka模塊pykafka生產(chǎn)者簡(jiǎn)單封裝代碼

    python3連接kafka模塊pykafka生產(chǎn)者簡(jiǎn)單封裝代碼

    今天小編就為大家分享一篇python3連接kafka模塊pykafka生產(chǎn)者簡(jiǎn)單封裝代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • mac在matplotlib中顯示中文的操作方法

    mac在matplotlib中顯示中文的操作方法

    這篇文章主要介紹了mac如何在matplotlib中顯示中文,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 用smtplib和email封裝python發(fā)送郵件模塊類分享

    用smtplib和email封裝python發(fā)送郵件模塊類分享

    本文針對(duì)發(fā)郵件相關(guān)的操作進(jìn)行了封裝,包括發(fā)送文本、HTML、帶附件的郵件,使用Python發(fā)郵件,主要用到smtplib和email兩個(gè)模塊,需要的朋友可以參考下
    2014-02-02

最新評(píng)論