首页 > 解决方案 > 通过 setuptools 部署用户配置

问题描述

我使用“setuptools”来打包 Python 项目,却一无所获。我写了一个供个人使用的小实用程序,它有一个我想放在 ~/.config/workon/config.json 下的配置文件,所以我这样做:https ://github.com/ReturnedVoid/workon/blob/主/setup.py#L15。然后像这样安装我的实用程序:https ://github.com/ReturnedVoid/workon/blob/master/Makefile#L20 。

它有效,但存在一些问题:

  1. 有时(我不知道为什么)当我安装新版本的实用程序时,配置文件被覆盖
  2. “pip”对配置文件一无所知,并且在我删除软件包时不会删除它
  3. 如果我尝试使用python3 -m pip install .命令安装它,则配置文件是相对于“站点包”安装的(不是我想要的)

我还尝试覆盖“setuptools”install命令来复制配置文件,但它只解决了上述(1)问题。

所以问题是:有没有办法简单地将我的配置文件复制到 ~/.config/... 所以它会被删除pip uninstall?也许有更好的方法来处理用户配置?

更新:我看到这些选项适合我的情况:

  1. 在文档中描述配置格式及其预期位置。所以让用户在需要时创建一个配置文件
  2. 构建一些能够执行此操作的分发包。例如 Debian 软件包...
  3. 在初始实用程序运行时生成配置文件

但是它们都不是令人愉快的 :) 对我来说克隆项目、运行make install、填充配置文件并忘记它会很方便。

标签: python-3.xpipconfigurationsetuptools

解决方案


推荐阅读