内容提要
PDM 2.0发布了多个重要新特性,包括将虚拟环境设为默认设置、支持其他PEP 517后端、移除可编辑包依赖、重新定位全局配置、增加pdm publish命令、改进用户界面等。同时,增强了用户脚本功能和钩子支持,提升了稳定性和灵活性。
关键要点
-
PDM 2.0将虚拟环境设为默认设置,支持PEP 582的项目结构。
-
PDM支持其他PEP 517后端,如flit-core、hatchling和setuptools。
-
不再支持可编辑包作为项目依赖,现有可编辑包在安装时会触发警告。
-
PDM的全局配置位置已迁移至$CONFIG_HOME。
-
新增pdm publish命令,用户可以方便地将项目打包并上传至PyPI。
-
用户界面进行了改进,使用rich库提供更好的体验。
-
完全放弃使用pip的内部API,构建自己的wheel解压工具以提高稳定性。
-
增强了用户脚本功能,支持复合脚本和更多钩子。
-
新增--skip选项以跳过某些钩子或脚本的执行。
延伸解读
虚拟环境的默认设置
PDM 2.0将虚拟环境设为默认设置,这一变化旨在提高与IDE和工具的兼容性。用户在初始化项目时,如果选择非虚拟环境解释器,PDM会询问是否创建新的虚拟环境。这一设计有助于简化项目管理,尤其是对于新手开发者。
对PEP 517后端的支持
PDM 2.0支持多种PEP 517后端,如flit-core和setuptools,允许用户根据项目需求灵活选择。这种兼容性使得PDM能够与其他工具共存,用户可以根据自己的工作流程选择最合适的工具组合,提升开发效率。
移除可编辑包依赖的影响
在PDM 2.0中,不再支持将可编辑包作为项目依赖,这一改变符合PEP 631规范。虽然现有的可编辑包会在安装时触发警告,但用户仍可在开发依赖中使用它们。这一限制可能会影响某些开发者的工作流程,需提前做好调整。
增强的用户脚本功能
PDM 2.0增强了用户脚本的功能,支持复合脚本和更多钩子。这意味着开发者可以更灵活地管理项目中的脚本执行,提升自动化程度。对于需要频繁执行多个命令的项目,复合脚本的支持将显著提高工作效率。
延伸问答
PDM 2.0的新特性有哪些?
PDM 2.0的新特性包括将虚拟环境设为默认设置、支持其他PEP 517后端、移除可编辑包依赖、重新定位全局配置、增加pdm publish命令、改进用户界面等。
如何使用pdm publish命令?
使用pdm publish命令可以自动打包项目并上传至PyPI,需先配置仓库凭证。
PDM 2.0如何处理可编辑包依赖?
PDM 2.0不再支持可编辑包作为项目依赖,安装时会触发警告,但可以在开发依赖中使用。
PDM 2.0的全局配置位置有什么变化?
PDM 2.0的全局配置位置已迁移至$CONFIG_HOME,具体路径因操作系统而异。
PDM 2.0如何增强用户脚本功能?
PDM 2.0增强了用户脚本功能,支持复合脚本和更多钩子,提升了灵活性。
PDM 2.0的用户界面有什么改进?
PDM 2.0的用户界面使用rich库进行改进,提供更好的体验和灵活配置。