用于通过 pip 卸载的 Setup.py
Posted
技术标签:
【中文标题】用于通过 pip 卸载的 Setup.py【英文标题】:Setup.py for uninstalling via pip 【发布时间】:2011-12-03 03:04:20 【问题描述】:根据another question,pip 提供了一个卸载鸡蛋的工具,它的帮助也表明了这一点。
我有一个项目,一旦安装,我的本地站点包文件夹中的结构如下所示:
项目/ projecta-1.0-py2.6.egg-info/
使用最新版本,pip uninstall projecta
会问我以下问题:
/path/to/python2.6/site-packages/projecta-1.0-py2.6.egg-info 继续(是/否)?
回答y
将删除.egg-info
目录,但不会删除主要的projecta
目录,不用说有任何错误。为什么 pip 不管理也不知道删除这个目录?
项目本身是通过使用 distutils 的 setup.py
文件安装的。我可以/应该在该文件中使用任何特殊设置来帮助 pip 完成删除过程吗?
【问题讨论】:
【参考方案1】:如果我没记错的话,pip
知道如何卸载通过setuptools/distribute
安装的软件包,而不是原始的distutils
。
setuptools
的一些特性 pip 是基于的 - 比如 --record
选项,它存储包元数据(它允许 pip 卸载包相关文件)。
尝试做:
$ pip install /path/to/projecta
$ pip uninstall projecta
【讨论】:
以上是关于用于通过 pip 卸载的 Setup.py的主要内容,如果未能解决你的问题,请参考以下文章
为啥我使用 setup.py 安装时找不到 ansible?
setup.py 中的 Python 包名称与 pip 名称