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

2023 年 8 月 27 日
 wudiiiii

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

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

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

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

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

开发环境导出一个 yml

生产环境重建下环境就行

https://www.thoughtvector.io/blog/deployment-with-anaconda/
dif
2023 年 9 月 12 日
pycharm 会提示的吧,我之前安装了高版本的 numpy ,但 requirements.txt 中的还是是低版本,一直提示我要安装 numpy 低版本。

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

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

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

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

© 2021 V2EX