python - setup.py将文件复制到特定位置

5 投票
1 回答
2531 浏览
提问于 2025-04-17 06:38

在安装过程中,我想把一个配置文件复制到用户的主目录,也就是 ~/.foo.conf。

通常用 setup.py 来做这个事情的方式是什么呢?我应该在 setup.py 里写代码,在 setup() 之后去复制这个文件,还是说有什么现成的机制可以处理这种任务呢?

更新

最后我修改了脚本,让它在启动时检查 ~/.foo.conf 是否存在。如果不存在,就创建一个默认的配置文件。我还发现了这个 帖子,挺有用的

1 个回答

4

我觉得这里可能是对setuptools的用法不太对。如果你想继续使用setuptools来安装,最好在那里面找一个配置文件,并且要大声告诉你的用户这个文件在哪里。不过,如果需要一些默认设置,这些设置应该直接从包内部读取,可以用类似于resource_stream的方式,这样无论是通过系统自带的easy_install、虚拟环境,还是通过像rpm这样的打包系统来运行setup,都能确保找到这个文件。

在后面的情况下,实际上放置这样的配置文件是不太实际的,因为在构建rpm的时候,系统用户还不存在。

撰写回答