我有一个使用 distutils 的 python 包。我想将 setup.py 配置为执行以下任一操作:
- 检测先前安装的软件包版本并引发错误
- 提议在继续安装之前删除以前安装的版本
有什么提示吗?可能需要 distutils.command.install 的自定义子类,但文档有点简洁。
我有一个使用 distutils 的 python 包。我想将 setup.py 配置为执行以下任一操作:
有什么提示吗?可能需要 distutils.command.install 的自定义子类,但文档有点简洁。
好的,这是我的初步答案。希望其他人有更好的计划。我不确定 Install.install_libbase 是否是正确的查看位置,或者它是否恰好在我的系统上是正确的..
import distutils.command.install
class Install(distutils.command.install.install):
def run(self):
name = self.config_vars['dist_name']
if name in os.listdir(self.install_libbase):
raise Exception("It appears another version of %s is already "
"installed at %s; remove this before installing."
% (name, self.install_libbase))
print("Installing to %s" % self.install_libbase)
return distutils.command.install.install.run(self)
setup(cmdclass={'install': Install})