Python的setuptools如何从父目录中引入文件?

6
我有以下目录结构(对于Python分发来说非常标准):
/some_dir
  /common
    file1.dat
    file2.dat
  /src
    pkg1/
      __init__.py
      stuff.py
    setup.py

我想做的是将pkg1common打包到同一个Python egg中。 setup.py文件很标准(自动发现软件包),并已正确包括 pkg1,但对于common 却不是这样。我尝试了许多方法,如 package_data, package_data_files, package_dir等,但都没有成功。我该怎么做呢?
我也不喜欢保持这种结构,但我确实需要把这些文件放在同一个目录中,因为我必须生成包含它们的NodeJS、Python和Java库,因此不能把common/目录移到Python内部。

1
正确的名称是data_files,而不是package_data_files - phd
1个回答

1
我认为你应该使用一个 MANIFEST.in 文件,并将 include_package_data 设置为 True,以注册您想要捆绑到您的软件包中的所有文件。 https://setupy.info/ 提供了您可能需要的所有选项的相当好的概述。

3
很遗憾,那行不通。MANIFEST.in 需要放在 setup.py 旁边定义,而且无法正确地包含来自上级路径的目录/文件(它可以工作,但复制到错误位置)。 - Alex Dobjanschi

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