1简介说起Python包管理工具,大家首先想到的就是pip、conda等经典工具。不过最近发现了一个新颖的Python包管理工具——pdm,它的灵感来自于PEP582和node管理库文件的方式,以“本地项目库”的形式帮助我们创建和管理不同的Python环境。2使用pdm管理工程库环境2.1pdm安装安装pdm的方法有很多种,这里我们使用官方推荐的安装方式:python-mpipinstall--userpipxpython-mpipxensurepath然后关闭你的终端,重新打开一个新的,继续输入:pipxinstallpdm当出现如下内容时,说明我们的pdm已经安装好了~2.2pdm的基本使用在使用pdm创建项目时,我们需要先切换当前目录为项目仓库到Python版本对应的环境,然后执行pdminit初始化项目。以3.7为例:在初始化项目时,根据自己的实际情况填写各个问题:cdC:\Users\pengz\Desktop\CurrentBlogWorkbench\pdm-democondaactivatedash-appspdminit经过以上过程,你会在当前目录下找到创建的pyproject.toml文件,里面记录了当前pdm项目的基本参数:接下来我们可以根据自己的项目实际需要使用pdmadd命令安装指定的单个或者多个第三个-方Python库,以flask为例(第一行命令用于设置国内pypi镜像源):pdmconfigpypi.urlhttps://pypi.douban.com/simple/pdmadd-vflaskflask-login安装完成后我们可以在当前目录下看到__pypackages_目录。我们前面安装的库被隔离安装在它下面,类似于node的node_modules目录:也符合PEP582提倡的项目结构:foo__pypackages__3.7libbottlemyscript.py这样,环境隔离效果在项目级实现,无需额外创建虚拟环境。pdm项目下的本地隔离库应该是在IDE中执行的程序,很简单。以pycharm为例。将pdm工程作为pycharm工程打开后,找到如图所示的lib文件夹,标记为SourcesRoot。同时记得在初始化的时候选择解释器为pdminit对应环境:对比终端中原环境的执行结果,可以发现已经成功实现了环境隔离,因为pdm项目__pypackages__中的packages会先于环境本身的site-packages加载,这样可以更好的隔离package的环境:如果你想恢复其他路径或者其他机器上的pdm工程,只需要把Copypyproject.toml和pdm.lock文件,然后在对应目录下执行pdmsync-v命令,很方便,类似npminstall和package.json的功能:pdm更多功能,可以去到其官网https://pdm.fming.dev/了解更多~
