Pants: https://www.pantsbuild.org/
我觉得使用 Pants 的最大的优点是不用再创建 Python 虚拟环境。
这是我写的一个 demo monorepo: https://github.com/da-tubi/pants-pyspark
1
RRRoger 2022-08-02 09:31:46 +08:00 1
胖次?
|
2
yuyue001 2022-08-02 09:33:47 +08:00
pip
pipenv poetry pdm conda 太多了,学不动。我用 poetry 。 |
3
Mithril 2022-08-02 09:37:27 +08:00
Python 也要前端化了?
|
5
6ugman 2022-08-02 10:11:45 +08:00
对 poetry 支持就用 不支持就观望
|
6
sadhen OP @6ugman 我之前尝试用 poetry 来管理 airflow dags 的 python 代码,结果发现 poetry 并没有那么好用。
大概一年之前,我觉得 poetry 特别慢。而且依赖冲突的问题也没有很好地解决。使用 pants 可以解决依赖冲突的问题。 |
8
Mithril 2022-08-02 11:27:02 +08:00 2
@sadhen 有区别吗?
依赖管理构建工具搞了一大把,Java 这么多年也就 Maven 和 Gradle 。 前端从 npm ,到 pnpm ,yarn 。 python 的二楼也列了一大把。 一言不合就再造个轮子,对于“python 生态的构建工具”而言,这不就是在割裂么。 |
9
Mark24 2022-08-02 11:32:59 +08:00
逐渐前端化,做同样的事情,几十个轮子,结果没有一个做得好的。
这种东西适合官方出一个持续维护一个。 |
11
zhenrong 2022-08-02 11:53:39 +08:00 4
打开看一眼就关了,一堆文档,谁有时间去研究这种。开发环境 venv 就完了,生产环境直接容器化。把时间浪费在折腾这些工具上没有意义,有这时间代码早写完了。
|
12
ViriF 2022-08-02 12:25:09 +08:00
这功能上是对应 make 、bazel 的吧;
(而且要安装的话我多半可能还是 pipx install pants 或者 workon build_system && pip install pants......) |
13
gengchun 2022-08-02 12:27:52 +08:00
poetry 差不多了。反正底层都是 pip/setuptools 。
我这里打包也没有花多少时间。 @sadhen poetry 处理了不了的依赖还是好好想一下,不要靠工具解决。Java 下面也是很头痛的事情,不要觉得可以通过工具解决。 |
14
pepesii 2022-08-02 12:34:46 +08:00
土鳖的我还是在用 virtualenv ,最近开始接触 ml 的项目,用了下 conda
|
15
angrylid 2022-08-02 12:54:31 +08:00 via Android
docker 或者 conda 不就完了吗🤔
|
17
V2SINE 2022-08-02 12:56:58 +08:00
Sorry, 新人还不知道怎么换行,Enter 发出去了,Ctrl + Enter 也发出去了。
|
18
BeautifulSoap 2022-08-02 13:04:11 +08:00
本地直接用 mini conda ,服务器上就直接 docker 镜像上 ECS 了,有点懒得折腾了
|
19
sadhen OP |
20
sadhen OP @zhenrong 磨刀不误砍柴工。不过这类事情确实应该由架构师去思考、设计、实现。或者由专门的团队来维护。比如 twitter ,他们的 python 项目用的就是 pants ,不过最近迁移到了 bazel 。
|
21
sadhen OP @Mithril 有区别的。poetry 可以认为是 Maven ,pants 可以认为是 Gradle 。( Gradle 背后也是一家公司)
这个不是再造轮子,是很多年前就开始造的工具。背后是这家公司: https://www.toolchain.com/ 而且会 pants ,可以找到工作: https://www.pantsbuild.org/page/jobs |
22
zhoujinjing09 2022-08-02 15:11:07 +08:00
这个和 bazel 有啥区别?
|
23
likeccpo 2022-08-02 16:11:45 +08:00
我选择 pyenv...
|
24
l4ever 2022-08-02 16:54:45 +08:00 2
python -m venv venv 很难吗?
非要搞那么多轮子? 对不起,我们不是前端; 你觉得官方的 venv 不好, 请提 pr |
25
zhenrong 2022-08-02 16:59:24 +08:00
@l4ever 我也觉得,venv 多简洁啊,一行命令搞定。那个我一点开看到用法描述一堆文档,瞬间没兴趣了。less is more.
|
26
musi 2022-08-02 17:18:54 +08:00
前端进来看了一眼评论,骂骂咧咧关掉了页面
|
27
sadhen OP @zhoujinjing09 可以看这里 https://monorepo.tools/ 我没有实际用过 bazel ,无法比较
|