Python setuptools:如何将配置文件包含到分发包中的 /etc 目录中。

8 浏览
0 Comments

Python setuptools:如何将配置文件包含到分发包中的 /etc 目录中。

如何编写 setup.py 以实现以下功能:

  1. 在二进制蛋分发(bdist_egg)中包含一个示例配置文件
  2. 在安装过程中将其放置在 {prefix}/etc 目录下?

示例项目源代码目录如下:

bin/
   myapp
etc/
   myapp.cfg
myapp/
    __init__.py
    [...]
setup.py

setup.py 文件如下所示:

from distutils.command.install_data import install_data
packages = ['myapp', ]
scripts = ['bin/myapp',]
cmdclasses = {'install_data': install_data}
data_files = [('etc', ['etc/myapp.cfg'])]
setup_args = {
    'name': 'MyApp',
    'version': '0.1',
    'packages': packages,
    'cmdclass': cmdclasses,
    'data_files': data_files,
    'scripts': scripts,
#    'include_package_data': True,
    'test_suite': 'nose.collector'
}
try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup
setup(**setup_args)

setuptools 已在构建环境和安装环境中安装。

注释掉或不注释掉 'include_package_data' 都没有帮助。

0