1

我的库中一个包的初稿是一个foo.py文件,我现在已经用 Cython/C 扩展名取代了一个文件,a foo.so- 但是,distutils 并没有自动意识到旧的 .py 文件已经消失,所以两者都位于站点中-packages 安装后的目录(谁知道当你使用时加载了import..)

显然我可以自己手动删除旧文件,但我不希望我的图书馆的用户不得不关心这种事情。

处理此问题的规范 / distutils / pythonic 方式是什么?有没有类似的语法

from distutils import setup
setup(..., depricated=['path/to/foo.py'])

指示升级时要从安装目录中删除的过时 .py 文件?

4

1 回答 1

0

distutils中没有uninstall命令。虽然pip可以在安装新版本之前自动删除旧版本。其他安装程序也可以提供uninstall命令。

pip如果他们从源代码安装,请指导您的用户使用。大多数二进制格式(如 rpm、deb、msi)默认支持卸载。顺便说一句,fpm提供了一种转换 python 包的简单方法。

您可以使用python -v来查看为您的模块加载了哪些文件。.so可能具有更高的优先级,但在这种情况下您不应该依赖它,而是删除旧版本。

于 2013-06-30T08:03:42.243 回答