Python 如果配置文件不存在,如何安装配置文件,如何在升级过程中不覆盖配置文件,如何在卸载过程中不删除配置文件?

Python 如果配置文件不存在,如何安装配置文件,如何在升级过程中不覆盖配置文件,如何在卸载过程中不删除配置文件?,python,installation,configuration-files,setuptools,setup.py,Python,Installation,Configuration Files,Setuptools,Setup.py,我已将data\u files变量添加到setup.py以在安装包时安装配置文件: setup(..., data_files=[('/greg/home/package', ['config']),] ) 如果配置文件不存在但不存在,如何安装配置文件: 卸载或 在安装-升级过程中覆盖它? 例如,当我尝试卸载包时,配置文件包含在要删除的文件列表中 $ pip uninstall package Uninstalling package-0.1.0: ... /

我已将
data\u files
变量添加到
setup.py
以在安装包时安装配置文件:

setup(...,
      data_files=[('/greg/home/package', ['config']),]
     )
如果配置文件不存在但不存在,如何安装配置文件:

  • 卸载或
  • 安装-升级过程中覆盖它
例如,当我尝试卸载包时,配置文件包含在要删除的文件列表中

$ pip uninstall package
Uninstalling package-0.1.0:
  ...
  /home/greg/package/config
Proceed (y/n)? 

如何仅在不存在配置文件的情况下安装配置文件并使用用户的版本?

通常,大多数软件包处理此类配置文件时只提供一个示例配置,并要求用户更改文件名或将其移动到其他位置,以便不会被覆盖或删除

一些包将要做的另一件事是提供一个命令行脚本,以帮助在用户指定的位置生成配置(例如Sphinx、Django),而不是将配置打包到项目中