Python setup.py 安装 - 更新时删除以前的版本

Python setup.py install - remove previous version while updating

我的包有一个 setup.py 脚本,我使用它来安装 python ./setup.py install

似乎每次我增加版本时,旧版本 /usr/local/lib/python2.7/dist-packages 中删除,所以我看到多个版本。

有没有办法设置为当有人更新时旧版本被删除?

SO 上有一个类似的(但不完全是)question 询问如何在 setup.py 中卸载软件包,但我并不是真的希望将卸载作为一个单独的选项。我正在寻找一个干净的 'update' 过程,在安装新版本之前删除旧版本。

另一种选择是,如果我可以从已安装的包名称中彻底删除版本号,在这种情况下我想它会被覆盖,但我没有成功地做到这一点。如果我删除版本,它会创建带有“0.0”的包名称,这看起来很奇怪。

我的设置脚本:

import io
import os
import sys

from setuptools import setup

#Package meta-data.
NAME = 'my_package'
DESCRIPTION = 'My description'
URL = 'https://github.com/myurl'
EMAIL = 'myemail@gmail.com'
AUTHOR = 'Me'
VERSION = '3.1.12'

setup(name = NAME,
      version=VERSION,
      py_modules = ['dir.mod1',
                    'dir.mod2',
                  ]
      )

如果你想从你的包中删除以前的版本,那么你可以在你的包的父目录中使用 pip。假设您的 setup.py 在目录 my_package 中,那么您可以使用:

pip install my_package --upgrade