Skip to main content
 首页 » 编程设计

python之不能使用 setup.py 包含非 python 文件

2024年10月25日7powertoolsteam

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

项目布局:

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

我想将“generators_data”及其内容包含到安装中。我的设置.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\”中。为什么?

请您参考如下方法:

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