
pip uninstall 移除 package, 无法彻底清理依赖:
$ pip install qu $ pip show -v qu ... `Requires: qiniu, click, pytest` ... $ pip uninstall -y qu $ pip freeze | grep -E 'qiniu|click|pytest' `click==6.7` `pytest==3.3.1` `qiniu==7.2.0` 1 TimePPT PRO pip uninstall 时候依赖的 package 确实是不会被清除的,可以试试 pip-autoremove,或者自己编脚本清。 pip-autoremove 有个问题是无法确定一个 package 是否被多依赖,比较暴力,所以用起来需谨慎。 还有就是建议利用 virtualenv 去隔离 python 环境,这样卸载包也方便 |
2 Arnie97 2017-12-22 18:47:05 +08:00 via Android 嗯,pip 本身没有 auto / manual 的区分,不会自动删除依赖。 我推荐一个工具,pip install pipdeptree |
3 LokiSharp 2017-12-22 18:52:33 +08:00 via iPhone 用 pipenv 自动解决依赖问题,无残留 |
4 cls1991 OP |
6 rogwan 2017-12-22 19:15:34 +08:00 包依赖管理是个比较复杂事情,重复依赖、包版本都需要考虑到,所以安全起见,让冗余多一点也是稳妥的解决方法。磁盘上多几个用不到的包不碍事,错删一个必须的依赖库就跑不起来。 |
7 lolizeppelin 2017-12-22 21:42:22 +08:00 via Android 打包 RPM 让系统来管 |
8 Cbdy 2017-12-22 21:53:43 +08:00 via Android 能用 docker,还是用 docker 吧。。 |
9 cls1991 OP @all https://github.com/cls1991/pef, 弄了一下初步的解决方案. |