【问题标题】:Cannot include non-python files with setup.py不能在 setup.py 中包含非 python 文件
【发布时间】:2014-06-18 17:29:40
【问题描述】:

我阅读了很多关于这个问题的答案,但没有适合我的解决方案。

项目布局:

generators_data\
    en_family_names.txt
    en_female_names.txt
__init__.py
generators.py
setup.py

我想在安装中包含“generators_data”及其内容。我的 setup.py:

from distutils.core import setup

setup(name='generators',
      version='1.0',
      package_data={'generators': ['generators_data/*']}
      )

我试过了

python setup.py install

得到

running install
running build
running install_egg_info
Removing c:\Python27\Lib\site-packages\generators-1.0-py2.7.egg-info
Writing c:\Python27\Lib\site-packages\generators-1.0-py2.7.egg-info

但是 generators_data 目录没有出现在“c:\Python27\Lib\site-packages\”中。为什么?

【问题讨论】:

    标签: python packaging setuptools distutils setup.py


    【解决方案1】:

    您发布的代码包含两个问题:setup.py 应该与您要分发的包同级,而不是在其中,并且您需要在 setup.py 中列出包。

    试试这个布局:

    generators/       # project root, the directory you get from git clone or equivalent
        setup.py
        generators/   # Python package
            __init__.py
            # other modules
            generators_data/
                names.txt
    

    还有这个 setup.py:

    setup(name='generators',
          version='1.0',
          packages=['generators'],
          package_data={'generators': ['generators_data/*']},
    )
    

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 1970-01-01
      • 2015-07-21
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多