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

时间:2018-03-05 00:14:18

标签: python installation configuration-files setuptools setup.py

As outlined in the documentation我已将data_files变量添加到setup.py以在安装软件包时安装配置文件:

setup(...,
      data_files=[('/greg/home/package', ['config']),]
     )

如果配置文件不存在,如何安装,但不安装:

  • 卸载或
  • install --upgrade期间覆盖它?

例如,当我尝试卸载软件包时,配置文件包含在要删除的文件列表中。

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

如果不存在配置文件,如何只安装配置文件,否则使用用户的版本?

1 个答案:

答案 0 :(得分:0)

通常,大多数软件包只通过提供示例配置来处理这样的配置文件,并要求用户更改文件名或将其移动到其他位置以便它不会获得被覆盖或删除。

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