Python:如何在使用setup.py安装(distutil)时强制覆盖文件

Python:如何在使用setup.py安装(distutil)时强制覆盖文件,python,installation,distutils,overwrite,Python,Installation,Distutils,Overwrite,我正在使用distutil安装python代码 python setup.py安装 当我想在新的分支上安装旧的代码分支时,我遇到了问题: setup.py安装不会覆盖旧文件。一种解决方法是触摸(touch)所有文件,因此这些文件必须比已安装的文件更新,但这非常难看 我要找的是一个选项,强制覆盖所有的文件,例如 python setup.py--强制安装 有什么想法吗?Python开发人员也有同样的想法,他们只是把选项放在命令后面: python setup.py install --force

我正在使用
distutil
安装python代码

python setup.py安装

当我想在新的分支上安装旧的代码分支时,我遇到了问题:
setup.py安装
不会覆盖旧文件。一种解决方法是触摸(
touch
)所有文件,因此这些文件必须比已安装的文件更新,但这非常难看

我要找的是一个选项,强制覆盖所有的文件,例如

python setup.py--强制安装


有什么想法吗?

Python开发人员也有同样的想法,他们只是把选项放在命令后面:

python setup.py install --force
distutils文档没有特别提到
--force
选项,但是您可以通过使用
--help
选项找到它:

python setup.py --help install

转到
setup.py
目录,我只需使用:

 pip install .

它适合我。

注意,--force会覆盖文件,而不会删除文件。我发现我需要切换版本时依赖于pip卸载。否则,你不知道潜伏着什么。如果pip不是一个选项,那么我认为您必须手动删除/bin/和/lib/python/site-packages/。再说一次,皮普是你的朋友。它对我也有用。它正确地覆盖了我的文件,甚至
install--force
出于某种原因没有这样做。setup.py似乎已正确执行,我的所有文件都已复制到它们应该去的地方。“因此,基本上,使用pip。它只提供改进”