Python 依赖管理:如何避免忘记 pip freeze?

2023-08-27 15:58:32 +08:00
 wudiiiii

嘿大家好,我是个 Python 新手,也搞过一点前端。在前端,我用 npm 装包,它会自动更新 package.json ,非常方便。

但在 Python 里,我用 venv 和 pip ,每次提交代码之前都得手动运行 pip freeze 。这步我经常给忘了,感觉我这个流程可能有问题。

你们是怎么管理依赖的?有没有什么办法能自动更新依赖列表,像 npm 那样?期待听到大家的建议和经验。

2259 次点击
所在节点    Python
11 条回复
paopjian
2023-08-27 15:59:19 +08:00
啊?
luemail2023
2023-08-27 16:00:14 +08:00
pipenv
wudiiiii
2023-08-27 16:07:31 +08:00
@luemail2023 谢谢您的回答,在搜索过程中我还发现了相似的工具 ( poetry 、pdm ) 可以用来管理依赖,虽然我有选择困难症,但作为前端,我已经习惯了😀。
14
2023-08-27 16:56:09 +08:00
我是用 pyenv + poetry 管理 Python 版本和依赖版本
ETiV
2023-08-27 17:19:47 +08:00
> 每次提交代码之前都得手动运行 pip freeze

了解一下 git hooks ,pre-commit 适合你这情况
sniperhgy
2023-08-27 17:50:57 +08:00
个人比较喜欢用 conda 来管理环境,大家统一版本,甚至可以不用安装直接 copy 包过去。
baobao1270
2023-08-27 18:03:28 +08:00
我用 Pycharm ,如果有 venv 里已经有但是未添加到 requirements.txt 的依赖,IDE 会报 warning
当然最好的方法还是用包管理器
hutoer
2023-08-27 19:04:02 +08:00
试试 poetry
dayeye2006199
2023-08-28 13:23:42 +08:00
poetry 可解。
python 的包管理确实挺生草的
iorilu
2023-08-31 11:33:02 +08:00
用 miniconda 就行了

开发环境导出一个 yml

生产环境重建下环境就行

https://www.thoughtvector.io/blog/deployment-with-anaconda/
dif
2023-09-12 11:04:30 +08:00
pycharm 会提示的吧,我之前安装了高版本的 numpy ,但 requirements.txt 中的还是是低版本,一直提示我要安装 numpy 低版本。

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

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

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

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

© 2021 V2EX