溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么使用pdm管理項目庫環(huán)境

發(fā)布時間:2022-02-16 13:40:49 來源:億速云 閱讀:375 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“Python中怎么使用pdm管理項目庫環(huán)境”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python中怎么使用pdm管理項目庫環(huán)境”文章能幫助大家解決問題。

1 簡介

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

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

2.1 pdm的安裝

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

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

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

pipx install pdm

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

Python中怎么使用pdm管理項目庫環(huán)境

2.2 pdm的基礎使用

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

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

cd C:\Users\pengz\Desktop\當期博客工作臺\pdm-demo
conda activate dash-apps
pdm init

Python中怎么使用pdm管理項目庫環(huán)境

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

Python中怎么使用pdm管理項目庫環(huán)境

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

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

Python中怎么使用pdm管理項目庫環(huán)境

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

Python中怎么使用pdm管理項目庫環(huán)境

也與PEP582所倡導的項目結構相符合:

foo
    __pypackages__
        3.7
            lib
                bottle
    myscript.py

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

Python中怎么使用pdm管理項目庫環(huán)境

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

Python中怎么使用pdm管理項目庫環(huán)境

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

Python中怎么使用pdm管理項目庫環(huán)境

關于“Python中怎么使用pdm管理項目庫環(huán)境”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI