python - setup.py将文件复制到特定位置
在安装过程中,我想把一个配置文件复制到用户的主目录,也就是 ~/.foo.conf。
通常用 setup.py
来做这个事情的方式是什么呢?我应该在 setup.py
里写代码,在 setup()
之后去复制这个文件,还是说有什么现成的机制可以处理这种任务呢?
更新
最后我修改了脚本,让它在启动时检查 ~/.foo.conf
是否存在。如果不存在,就创建一个默认的配置文件。我还发现了这个 帖子,挺有用的。
1 个回答
4
我觉得这里可能是对setuptools的用法不太对。如果你想继续使用setuptools来安装,最好在那里面找一个配置文件,并且要大声告诉你的用户这个文件在哪里。不过,如果需要一些默认设置,这些设置应该直接从包内部读取,可以用类似于resource_stream
的方式,这样无论是通过系统自带的easy_install、虚拟环境,还是通过像rpm这样的打包系统来运行setup,都能确保找到这个文件。
在后面的情况下,实际上放置这样的配置文件是不太实际的,因为在构建rpm的时候,系统用户还不存在。