Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何避免用distutils覆盖以前的包安装_Python_Distutils2 - Fatal编程技术网

Python 如何避免用distutils覆盖以前的包安装

Python 如何避免用distutils覆盖以前的包安装,python,distutils2,Python,Distutils2,我有一个使用distutils的python包。我想将setup.py配置为执行以下任一操作: 检测以前安装的软件包版本并引发错误 在继续安装之前,建议删除以前安装的版本 有什么提示吗?可能需要distutils.command.install的自定义子类,但有点简洁。好的,这是我的初步答案。希望其他人有更好的计划。我不确定Install.Install_libbase是否是正确的查看位置,或者它是否恰好在我的系统上正确 import distutils.command.install cla

我有一个使用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})