V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
frostming
V2EX  ›  Python

pdm 1.0.0 beta 版发布,支持最新 metadata 标准 PEP 621

  •  1
     
  •   frostming ·
    frostming · 2020-12-24 11:57:22 +08:00 · 1942 次点击
    这是一个创建于 1191 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先祝大家圣诞快乐。

    PDM 刚刚也发布了 1.0.0 beta 版,距离上次在 V 站宣传 PDM,又多了很多好用的功能

    1. PEP 621 metadata 标准
    2. PEP 582 local package 现在 直接用 python xxx.py运行就能加载隔离环境的包了。
    3. 支持其他主流 metadata 格式导入:requirements.txt/Pipenv/Poetry/Flit
    4. Bash/Zsh/Fish/PowerShell 命令补全,支持 Windows 一直是高优先级,因为我自己就用的是 Windows
    5. pdm scripts 快捷运行(类似 package.json 的 scripts ),支持环境变量加载

    关于第 2 条我具体说下这有什么好处,比如我现在要写一个 Flask 应用,只需要

    1. pdm add flask
    2. 编写app.py
    3. python app.py

    没有 activate deactivate,直接启动

    这能做什么呢?比如我在 user site 下面安装了一个 IPython,现在我不用在每个环境里都装一个 IPython,只要保证用的 Python 版本是一致的,那我就可以到处用这个 IPython 导入__pypackages__中的包做调试了。(只是举个例子,IPython 能自动探测处于 venv 中并加载包路径,但还有很多其他的命令行工具是没办法这样的)

    是的没错,venv 其实也可以实现这个效果,不过就是在创建的时候加上--site-packages选项嘛,但已经创建好的呢,估计不是所有人都知道去改那个pyvenv.cfg。何况始终要记得 activate 才能启用 venv 中的包。

    但 PDM 最大的一个缺陷是(别喷,我自己招,哈哈):IDE 的支持,每次创建新项目,都需要进行手动配置才能使用__pypackages__中的包。

    6 条回复    2022-11-03 01:11:43 +08:00
    abersheeran
        1
    abersheeran  
       2020-12-24 12:52:01 +08:00
    这个更新是真的不错。后续版本考虑做一下 PyPi 发布支持吗?
    frostming
        2
    frostming  
    OP
       2020-12-24 15:29:38 +08:00 via Android
    @abersheeran 我一直在犹豫,是要全部一把抓,还是 keep it simple,让专业的人( twine )做专业的事
    abersheeran
        3
    abersheeran  
       2020-12-24 16:04:15 +08:00
    @frostming 也是。保留简单最好。文档里可以跟 twine 那边做个联动,简单的给个样例教一下如何使用 pdm 管理项目,用 twine 发布项目。
    abersheeran
        4
    abersheeran  
       2020-12-24 16:15:38 +08:00
    @frostming build whl 的功能肯定得有……不然用了你这个管理依赖,还得写一份 setup.py 太冗余了
    frostming
        5
    frostming  
    OP
       2020-12-24 17:02:21 +08:00
    @abersheeran 改进文档可以有

    #4 pdm build 就是
    lidashuang
        6
    lidashuang  
       2022-11-03 01:11:43 +08:00
    好用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2426 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:00 · PVG 00:00 · LAX 09:00 · JFK 12:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.