比拟高级的 python 虚拟机环境和包管理器,有两个计划:pipenv 和 poetry
这两个货色,不仅仅能够帮咱们做『虚拟环境治理』:
- 创立虚拟环境
- 删除虚拟环境
还能够帮咱们做『包治理』
然而,我不倡议,用他们做包治理!为什么?因为狗拿耗子。
pipenv、poetry 安装包的时候,十分喜爱狗拿耗子,帮咱们额定做一堆的版本抵触查看:
- 慢,不晓得这两货的查看逻辑是什么,十分的慢。pip 自身也是有『版本抵触查看』。然而 pipenv、poetry 做的更多,导致轻易装置个货色都会 waiting 小时(相比之下,间接会应用 pip 只有几秒)
- 自作聪明,如果你创立虚拟环境的『以后门路』下有 requirements.txt 的话,他们会主动帮你装置 requirements.txt 中的所有的包,因为下面的『慢』起因,这会导致你的体验不穷无尽的蹩脚。
所以:不要用 pipenv 和 poetry 做包治理(同时,不要把 requirements.txt 叫做 requirements.txt,而是应该叫做 requirements-prd.txt 和 requirements-dev.txt)
然而能够用 pipenv 和 poetry 做包治理,因为对应 unix 这类自带 python 的 os 来说,虚拟环境是刚需。
那 pipenv 和 poetry 两者之间如何抉择?
我抉择 pipenv
为什么?
pipenv 的 api 和 pip 高度类似。相比 poetry api 的不三不四,学习成本低很多
之前看网上有很多批评 pipenv 的文章,在 2022 年看都是放屁。