python setuptools 包含父目录中的文件

Ale*_*chi 6 python setuptools

我有以下目录结构(对于 python 发行版来说是相当标准的):

/some_dir
  /common
    file1.dat
    file2.dat
  /src
    pkg1/
      __init__.py
      stuff.py
    setup.py
Run Code Online (Sandbox Code Playgroud)

我想要实现的是将两者打包pkg1common同一个 python Egg 中。该setup.py文件非常标准(自动发现包)并且pkg1已正确包含,不幸的是我不能对common. 我尝试了很多东西,例如,,package_data等等,但似乎没有任何效果。我怎样才能实现这个目标?package_data_filespackage_dir

我也不热衷于保留这种结构,但我确实需要将这些文件放入一个公共目录中,因为我必须生成包含它们的nodejs、python 和 java 库,因此将目录移动到common/python 中不是一个选项。

Lau*_*ent 1

我认为您应该使用MANIFEST.in文件并将include_package_data设置为True来注册要与包捆绑在一起的所有文件。

https://setupy.info/很好地概述了您可能需要的所有选项。

  • 不幸的是,这不起作用。MANIFEST.in 需要在 setup.py 旁边定义,并且无法正确包含上层路径中的目录/文件(它可以工作,但它被复制到错误的位置)。 (3认同)