如何在软件包更新之间保持 data_files?
How to keep data_files between package updates?
我正在使用 setuptools.setup()
的 data_files
参数将配置文件安装到 /etc
和用户主目录。但是,使用 pip install <package-name>
更新软件包会在安装新版本之前卸载旧版本和所有配置文件。
如果配置文件已更改,我如何在更新期间保留它们?
我非常怀疑鸡蛋或轮子 "installers" 能做到这一点。它们是相当原始的分发格式,适用于简单的事情(卸载以前的版本,安装新的覆盖文件)但仅此而已。
要执行您想要的操作,您可能需要一个真正的安装程序(rpm 或 deb)——它们可以保留更改的配置文件。但是它们很复杂,很难创建格式。
如果您坚持使用简单的轮子,我建议您完全停止分发配置文件。相反,分发配置文件的模板并教用户从这些模板创建配置文件。然后新版本将只覆盖模板而不是真正的配置文件。
我正在使用 setuptools.setup()
的 data_files
参数将配置文件安装到 /etc
和用户主目录。但是,使用 pip install <package-name>
更新软件包会在安装新版本之前卸载旧版本和所有配置文件。
如果配置文件已更改,我如何在更新期间保留它们?
我非常怀疑鸡蛋或轮子 "installers" 能做到这一点。它们是相当原始的分发格式,适用于简单的事情(卸载以前的版本,安装新的覆盖文件)但仅此而已。
要执行您想要的操作,您可能需要一个真正的安装程序(rpm 或 deb)——它们可以保留更改的配置文件。但是它们很复杂,很难创建格式。
如果您坚持使用简单的轮子,我建议您完全停止分发配置文件。相反,分发配置文件的模板并教用户从这些模板创建配置文件。然后新版本将只覆盖模板而不是真正的配置文件。