pdm 是那熟悉的 npm 味道,很好用

2021-09-21 23:22:38 +08:00
 ChrisFreeMan

https://github.com/pdm-project/pdm/

3558 次点击
所在节点    Python
11 条回复
frostming
2021-09-22 09:37:40 +08:00
感谢,还是要重申说清楚
1. pdm 没有依赖地狱
2. pdm 依赖目录真的不大
3. pdm 依赖甚至可以复用已有安装
ChrisFreeMan
2021-09-22 09:39:10 +08:00
@frostming 厉害了哥,向你学习
devliu1
2021-09-22 10:53:17 +08:00
之前就想要一个 npm-like 的 python 依赖管理工具,poetry 和 pipenv 这类都差点意思,pip 的 dependency hell 不严重,持续关注中。
skiy
2021-09-22 14:34:46 +08:00
@frostming 中文文档中的 “Linux/Mac 安装命令” 中的 raw.githubusercontent.com 建议改成国内的 git 。现在感觉 GitHub 已经被全面封禁( 443 )了。虽然浏览器用 Switchy 方便,但是命令行中直接使用不了(虽然有一些第三方的加速方案)。
wangxn
2021-09-22 14:49:42 +08:00
npm 相比 pip 有啥突出的地方?以至于想在 Python 里用?只听说过各种吐槽,类似于磁盘空间占用率巨大。
frostming
2021-09-22 14:59:10 +08:00
@wangxn 就怕有这种印象,我在#1 重申多少次都没用
javlib
2021-09-22 15:02:52 +08:00
依赖放到项目自己的目录下确实比放在 vrituanenv 里面来的方便,至少删项目后,依赖就删了,方便清理。
但是依赖放到项目下后,复用已有依赖是怎么做到的? java maven/gradle 是把所有依赖都放在同一个地方,所以复用很正常。
wangxn
2021-09-22 15:08:54 +08:00
原来如此。刚刚手机看的贴,没看到项目描述。
pip 可以类比于 Go 1.11 之前的全局包管理,这个有点像 1.11 之后的 Go Modules 。
frostming
2021-09-22 16:15:37 +08:00
@javlib 一样,放在一个中心化的地方,然后用「软链」(打引号是因为不是真的软链)
hutoer
2021-09-22 20:12:03 +08:00
执行 eval $(pdm --pep582) 会报错
bash: syntax error: unexpected end of file
frostming
2021-09-23 08:56:10 +08:00
@hutoer eval "$(pdm --pep582)"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/803244

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX