就像python打包工具经常发生的那样,我在用代码打包数据文件时遇到了麻烦。
我正在使用 PyScaffold 3.0.1 并且设置.cfg现在不包含任何data_files
或package_data
选项,因为它们似乎不起作用。我尝试以许多不同的方式使用它们,但它们似乎都是指设置.cfg在没有pyscaffold或以前版本的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 文件中。
如何包含这些文件?
问题是setuptools_scm在中间,这些文件在我的实验期间没有提交。通过提交文件,一切正常