我的库中包的初稿是一个foo.py
文件,我现在已经用Cython / C扩展名取代了foo.so
- 然而,distutils并没有自动地意识到旧的.py文件已经消失,因此安装后都会位于site-packages目录中(谁知道在使用import
时加载了哪个..)
显然我可以自己手动删除旧文件,但我不希望我的图书馆用户不得不关心这类事情。
什么是规范/ distutils / pythonic方式来处理这个问题?有没有像
这样的语法from distutils import setup
setup(..., depricated=['path/to/foo.py'])
指示在升级时从安装目录中删除过时的.py文件?
答案 0 :(得分:0)
distutils中没有uninstall
命令。虽然pip
可以在安装新版本之前自动删除旧版本。其他安装程序也可以提供uninstall
命令。
如果用户从源代码安装,请指示您的用户使用pip
。大多数二进制格式(如rpm,deb,msi)默认支持卸载。顺便说一下,fpm提供了一种简单的方法来转换python包。
您可以使用python -v
查看为您的模块加载的文件。 .so
可能具有更高的优先级,但在这种情况下您不应该依赖它,而是删除旧版本。