python扩展包依赖管理
日常开发中我们会用pip list
查看安装了哪些包,直接以列表的形式展示给你,但是你知道某个包依赖于其它哪些包吗?或者你想删除一个包,它对应的依赖包会被同步删除吗?如果你有这些需求,可以继续往下看。
明确项目依赖(pipdeptree
)
pip list
或 pip freeze
打印出来的依赖有一个问题,就是并没有明确依赖关系。这样的坏处是,当我们想清理依赖的时候,就不知道到底哪些依赖是能被直接删除的、哪些依赖又是被间接依赖而不能轻易删除的。
例如我们可能在项目中用了 Flask
,但是我们可能不知道 Flask 也引用了 Jinja2
。这是我们如果擅自删除了 Jinja2
,项目就可能跑不起来。。。
这时就可以使用 pipdeptree
工具来管理依赖树:
安装pipdeptree
查看依赖树
这样我们就知道了,原来 Jinja2
是被 Flask 依赖的,这样我们就不会随便删除了。
项目依赖治理(pip-autoremove
)
那么问题来了,如果我忽然不想依赖 Flask 了,我们需要怎么做呢?
无脑的做法是 pip uninstall flask -y
。不那么显然的是,这其实不够优雅:
发现没,Flask 虽然被卸载了,但是他的依赖包并没有卸载干净。你可能需要重新一个一个判断你是否需要剩下的包,然后再递归删除。
幸运的是,我们就可以用 pip-autoremove
工具来做这件事。我们重新安装Flask,再用这个工具删除试试:
这下干净了😊。
在线日志fluent-logger
不知道大家开发中有没有跟我一样的情况,服务器没有权限,每次上线的项目问题排查日志都需要运维协助才能看日志,如果仅仅是排查日志,那我们是否可以将日志这块独立出来,统一放在某个系统里,方便我们查看,这当然可行,并且也有这样的扩展fluentd
,貌似适配了各种开发语言,具体的也没详细了解,包括如何搭建fluentd
服务也不是我这里要讲的内容,我要讲的只是如何将日志推送到指定已搭建好的fluentd
服务上。
我们这里以django
为例:
安装fluent-logger
配置log日志
formatters
中的fluentd
、handlers
中的fluent_handler
、loggers
中的test
都是我们用于演示的。
如何使用
使用方式和你之前在文件中记录方式一致
__EOF__

本文链接:https://www.cnblogs.com/amgulen/p/16981328.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人