之前是不是有人推荐 pipenv,垃圾到不能用啊

2019-09-25 10:15:22 +08:00
 gaoyadianta
lock 好久好久,install 个东西还时不时的失败,这种项目怎么还能有人推荐
4328 次点击
所在节点    Python
13 条回复
ly4572615
2019-09-25 11:18:30 +08:00
是不是你用的方法有问题呀亲
lc1450
2019-09-25 12:17:46 +08:00
不要用 Pipenv site:zhihu.com
lc1450
2019-09-25 12:19:14 +08:00
不能直接发链接,搜这个,第一条
gaoyadianta
2019-09-25 12:54:16 +08:00
@ly4572615 我现在确定用法没问题,github 上搜一下一堆一堆类似的 isssue,你用着很爽?
gaoyadianta
2019-09-25 12:54:30 +08:00
@lc1450 好吧,为时已晚啊
lovepocky
2019-09-25 13:05:47 +08:00
pipenv 很烂,我们现在用 poetry,相对好点
gaoyadianta
2019-09-25 13:29:49 +08:00
@lovepocky 这个怎么样,有明显的硬伤吗
ClericPy
2019-09-25 22:51:10 +08:00
这段时间是有一波节奏从 pipenv 转 poetry 的

反正我平时小项目 pipenv 没什么问题, 至于 lock 时间太长, 有的时候可以 ignore lock, 另外... 一般依赖没改变的情况还真没用过 pipenv install, 也就不存在被它拖时间的情况了, 有人推荐是因为省事, 而且也没什么其它简单选择啊, poetry 就算再好, 就算支持捎带发布 twine pypi 什么的, 还是感觉有学习成本, pipenv 的成本就是 pipenv run........
gaoyadianta
2019-09-26 17:35:25 +08:00
@ClericPy 不用 pipenv install,新包怎么安装呢?依赖老也不改变,我管理个啥,问号脸,这个工具存在不就是为了管理这些包的么。所以你的逻辑是,如果不怎么用它,那它还可以。???
还是说我理解错你说的依赖了
Trim21
2019-10-20 18:11:28 +08:00
之前有一段时间同时使用 pioenv 和 poetry,这段时间尝试了一下 pipenv,还是用回 poetry 了。

poetry 比 pipenv 在各种角度上好用很多,就比如他 readme 里面提到的,为什么要同时维护一个 requirements,还要维护两个 pipenv 的文件,这几个文件本来不就应该保持同步么,难道你的项目中依赖于 requests=1 你会安装一个 requests=2 在环境中吗。


我习惯用 windows 开发,然后打包成 docker 放到 linux 服务器上去,或者用 windows 开发,打包在三个平台上使用,这个使用场景 pipenv 似乎完全没考虑。

poetry 生成的 lock 是跨平台的,也就是说你在 windows 下面生产的 lock 文件不需要担心在 linux 下面会生成不一样的 lock 文件(当然换行符的问题还是存在)。

poetry 在安装依赖的时候,就像他的 readme 一样,会保证你安装的依赖没有版本冲突问题,但 pipenv 就是单纯的像 pip 一样安装所有依赖,然后把版本写死而已。参照 https://github.com/sdispater/poetry/blob/master/README.md#dependency-resolution 这一点似乎 poetry 是现在唯一的工具会解决这个问题。


至于学习成本,其实 poetry 也有 run 命令,就是 pipenv run 换成 poetry run。
Trim21
2019-10-20 18:15:05 +08:00
但 poetry 没法帮助解决你解析依赖用时很长的问题,poetry 前几次解析依赖也巨慢而且经常失败,我当初就是被这个劝退。
不过在成功运行并把需要的数据缓存到本地之后情况就好多了。
gaoyadianta
2019-10-21 10:02:34 +08:00
@Trim21 谢谢,不过有一个问题指出下:在不需要的情况下,pipenv 是不需要维护 requirements 文件,pipfile 和 pipfile.lock 就可以了。我没用过 poetry,不过就我使用 pipenv 的体验来说,它在各方面的设想都没有什么问题,只是这个 lock 失败真的是蛋疼死。。。
Trim21
2019-12-18 18:39:54 +08:00
@gaoyadianta #12 因为我要打包传到 pypi 上面去, 所以我需要维护一个 requirements 文件...更新了两次依赖版本就弃用了, 都没等到用在不需要维护 requirements.txt 的项目上

poetry 最近发了 1.0.0, 不如尝试一下

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

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

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

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

© 2021 V2EX