pip 是最常见的 Python 包管理工具,但它最恼人的地方在于操作不可逆。举个例子
先执行安装操作:
pip install django-ninja
再执行卸载操作:
pip uninstall django-ninja
按道理说,卸载应该是安装的逆操作 —— 卸载之后,程序依赖环境应该恢复到 install 之前的状态。但实际操作之后,django-ninja 的第三方依赖并不会被卸载。也就是说,pip 的安装命令是不可逆的。
有洁癖的开发者,可以考虑转向更先进的 conda、poetry 等依赖管理工具。