返回顶部
首页 > 资讯 > 后端开发 > Python >新一代Python包管理工具
  • 887
分享到

新一代Python包管理工具

2024-04-02 19:04:59 887人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1 简介2 使用pdm管理项目库环境2.1 pdm的安装2.2 pdm的基础使用1 简介 说起python的包管理工具,大家第一时间想到的肯定是pip、conda等经典工具。但最

1 简介

说起python的包管理工具,大家第一时间想到的肯定是pip、conda等经典工具。但最近我发现了一款新颖的Python包管理工具——pdm,它受到PEP582以及node管理库文件方式的启发,帮助我们以「本地项目库」的形式创建及管理不同的Python环境。

2 使用pdm管理项目库环境

2.1 pdm的安装

pdm的安装方式多种多样,这里我们使用官方推荐的方式进行安装:

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

接着关闭你的终端重开一个新的,继续输入:

pipx install pdm

当出现以下内容时,则代表我们的pdm已经安装完成了~

2.2 pdm的基础使用

使用pdm以当前目录作为项目仓库创建项目时,我们需要根据项目实际需要,先切换到对应Python版本的环境之下,再执行pdm init来初始化项目,以3.7为例:

初始化项目时,根据自己的实际情况填写每个问题即可:

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

上述过程之后,你会在当前目录下发现创建好的pyproject.toml文件,它记录了当前pdm项目的各项基本参数:

接下来我们可以根据自己项目的实际需要使用pdm add命令来安装指定的单个或多个第三方Python库,以flask为例(其中第一行命令用于设置国内pypi镜像源):

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

完成安装后,我们可以在当前目录下看到__pypackages_目录,我们前面所安装的库就隔离安装在其下面,类似node的node_modules目录:

也与PEP582所倡导的项目结构相符合:

foo
    __pypackages__
        3.7
            lib
                bottle
    myscript.py

这样就实现了项目级别的环境隔离效果,且无需创建额外的虚拟环境,要在IDE中使用pdm项目下的本地隔离库执行程序很简单,以PyCharm为例,将pdm项目打开为pycharm工程之后,找到如图所示位置的lib文件夹,将其标记为Sources Root即可,同时记得将解释器选为pdm init初始化时所在环境相对应的:

与终端中原始环境的执行结果对比,可以发现成功实现了环境隔离,这是因为pdm项目的__pypackages__中的包会在环境本身的site-packages之前被载入,从而更好地隔离包的环境:

如果你想要在其他路径或其他机器上还原某个pdm项目,则仅需要将pyproject.toml与pdm.lock文件拷贝过去,再在对应目录下执行pdm sync -v命令即可,非常的方便,类似npm install配合package.JSON的功能:

到此这篇关于新一代Python包管理工具的文章就介绍到这了,更多相关新一代Python包管理工具内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 新一代Python包管理工具

本文链接: https://lsjlt.com/news/139408.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 新一代Python包管理工具
    目录1 简介2 使用pdm管理项目库环境2.1 pdm的安装2.2 pdm的基础使用1 简介 说起Python的包管理工具,大家第一时间想到的肯定是pip、conda等经典工具。但最...
    99+
    2024-04-02
  • python 包管理工具 —— setu
    1. 创建一个简单的包 创建 setup_demo文件夹,编写如下的 setup.py 文件: from setuptools import setup, find_packages setup( name = "de...
    99+
    2023-01-31
    管理工具 python setu
  • Vue新一代状态管理工具Pinia的具体使用
    目录前言优点安装创建并挂载创建store使用store回显与修改state使用$patch对多条数据直接修改使用actions使用getters多个store相互调用数据持久化安装使...
    99+
    2024-04-02
  • Node.js包管理工具
    目录Node 包管理工具npm简介npm常用命令package.json & package-lock.json & node_modules关系nodemon配置命...
    99+
    2023-05-15
    Node.js包管理工具 node包管理工具 包管理工具
  • Python管理工具
       未完待续!curl -0 http://python-distribute.org/distribute_setup.py | python...
    99+
    2023-01-31
    管理工具 Python
  • Python包管理工具pip用法详解
    pip提供我们各色各样的软件(第三方库),而这些第三方库又可以给我们实现各种各样不同的功能,科学计算、画图、操作文件、聊天…… 我们可以通过Cmd终端、P...
    99+
    2024-04-02
  • Python包管理工具pip怎么使用
    这篇“Python包管理工具pip怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python包管理工具pip怎么使用...
    99+
    2023-06-30
  • 群晖包管理工具 synopkg
    群晖包管理工具 synopkg 博主博客 https://blog.uso6.com/https://blog.csdn.net/dxk539687357 本文主要介绍群晖的包管理工具 synop...
    99+
    2023-09-16
    服务器 运维
  • Mac下python包管理工具pip的安装
    pip是常用的python包管理工具,用python的同学,都离不开pip ~~ 第一种 在系统自带的python2.7的路径下 pip是python的包管理工具,在Python2....
    99+
    2024-04-02
  • Python虚拟环境和包管理工具Pipe
    前言 Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境。在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理。 传统的Python虚拟环境有virtualenv,使用pip freeze ->...
    99+
    2023-01-31
    管理工具 环境 Python
  • Vue项目新一代状态管理工具Pinia的使用教程
    目录前言Pinia与Vuex的区别使用Pinia直接修改数据的两种方式使用actions修改数据重置state中数据Pinia持久化存储Pinia模块化实现Pinia中store之间...
    99+
    2022-11-13
    vue pinia状态管理工具 vue pinia用法 vue状态管理工具
  • Linux的包管理工具介绍
     概述:     本章内容:软件的运行环境,软件包基础,rpm包管理,yum管理,定制yum仓库,编译安装一、软件运行环境  1.API:Appl...
    99+
    2024-04-02
  • golang包管理工具有哪些
    golang中的包管理工具有:1.go mod,golang1.11版本中的官方包管理工具;2.govendor,golang的依赖包管理工具;3.godep,golang官方的依赖管理工具;4.Module,golang官方提供的包管理工...
    99+
    2024-04-02
  • vscode使用nuget包管理工具
    目录一、使用dotnet add package 命令行实现1、列出Nuget本地的路径2、使用dotnet命令安装引用Nuget包3、安装引用指版本使用-v4、使用特定源安装引用N...
    99+
    2024-04-02
  • Go mod包管理工具详解
    目录Go包的概念Go依赖管理的概念Go mod的使用Go mod的优势Go mod常见问题解决总结Go语言作为一门开源的编程语言,已经广泛应用于各个领域。作为一门现代化的编程语言,G...
    99+
    2023-05-19
    Go mod包管理工具 Go mod包 Go mod
  • Python包管理工具之PDM的使用教程
    目录前言安装使用PDM用pipx安装pdm配置 pdm 自动补全PDM初始化项目PDM 常用命令运行命令查看环境更新包切换Python版本命令别名方案兼容其他方案迁移到pdmpych...
    99+
    2024-04-02
  • Python学习之pip包管理工具的使用
    目录写文的原因pip 简介pip 安装/移除包升级包和查看已安装包搜索包写文的原因 学习 Python 的过程中,经常会使用 pip 命令去安装第三方模块,但细细琢磨下来,我真的掌握...
    99+
    2024-04-02
  • Debian使用哪种包管理工具来管理软件包
    Debian使用APT(Advanced Package Tool)作为主要的包管理工具来管理软件包。APT是一个命令行工具,提供了...
    99+
    2024-03-12
    Debian
  • Python 迭代器工具包【推荐】
      原文:https://git.io/pytips   0x01 介绍了迭代器的概念,即定义了 __iter__() 和 __next__() 方法的对象,或者通过 yield 简化定义的“可迭...
    99+
    2022-06-04
    工具包 迭代 Python
  • 详解node中的包和包管理工具
    包从哪里来的?不同于 Node.js 中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用。 在这里记笔记:免费的!!!为什么我们要用包?由于 Node.js 的内置模块仅提供了一些底层的 API,导致在基于内置模块...
    99+
    2022-11-24
    node Node.js
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作