使用setup.py将数据文件安装到site-packages目录下

16

我有一个使用标准setup.py安装程序的Python包,但我无论如何都不能将一些预定义的配置文件安装到某个地方的site-packages中...我的setup()函数被如下调用:

setup(
  name='Hydrant',
  version=version,
  description=long_description,
  author='Scott Frazer',
  author_email='scott.d.frazer@gmail.com',
  packages=['hydrant'],
  package_data={'hydrant': ['sql/*.sql', 'hydrant.conf', 'hydrant.deploy']},
  data_files=[('config', ['hydrant/hydrant.conf'])],
  install_requires=[
    "xtermcolor>=1.0.3",
    "pyyaml",
    "pymysql",
    "jprops"
  ],
  entry_points={
    'console_scripts': [
      'hydrant = hydrant.Main:Cli'
    ]
  },
  test_suite='hydrant.test',
  license = "MIT",
)

我正在尝试使用package_datadata_files进行实验,但它们似乎没有起到作用。我是在虚拟环境中使用命令行进行安装的:

$ python setup.py install

非常感谢您的任何见解!


1
可能是包含非Python文件的setup.py的重复问题。 - Federico
1个回答

2
尝试在您的模块中添加一个MANIFEST.in文件。虽然据我所知它仅用于向生成的包(例如egg或tar.gz分发文件)添加数据。
请查看此StackOverflow相关问题/答案
其他程序员通过切换到distutils使其工作,但我不建议这样做,因为它已被distribute弃用。
请查看此另一个StackOverflow相关问题/答案

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接