使用setup.cfg在PyScaffold 3.0.x中包含数据文件

时间:2018-08-14 14:16:52

标签: python setuptools distutils setup.py

python打包工具经常发生这种情况,我在用代码打包数据文件时遇到了麻烦。

我正在使用PyScaffold 3.0.1,并且setup.cfg现在不包含任何data_filespackage_data选项,因为它们似乎不起作用。我试图以多种不同的方式使用它们,但是它们似乎都引用了不带pyscaffold的setup.cfg或以前版本的pyscaffold。

选项include_package_data = True仍然存在。

文件夹结构如下

├── requirements.txt
├── setup.cfg
├── setup.py
├── src
│   ├── my_package
│   │   ├── benchmarks.py
│   │   ├── client.py
│   │   ├── __init__.py
│   │   ├── libs
│   │   │   ├── __init__.py
│   │   │   ├── libt1.so
│   │   │   └── libt2.so
│   │   ├── resources
│   │   │   ├── dataset.csv
│   │   │   └── __init__.py
├── tests
│   ...

通过pkg_resource加载资源的代码是正确的,因为如果我从pytest运行,或者如果我将文件复制到预期的位置,程序就会运行。

由sdist生成的.egg文件中不存在这些文件。

如何包含这些文件?

1 个答案:

答案 0 :(得分:0)

问题是setuptools_scm位于中间,并且在我的实验期间未提交这些文件。通过提交文件,一切正常