不能包含setup.py的非python文件

时间:2014-06-18 17:29:41

标签: python packaging setuptools distutils setup.py

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

项目布局:

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 \”中。为什么呢?

1 个答案:

答案 0 :(得分:2)

您发布的代码包含两个问题: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/*']},
)