python打包工具经常发生这种情况,我在用代码打包数据文件时遇到了麻烦。
我正在使用PyScaffold 3.0.1,并且setup.cfg现在不包含任何data_files
或package_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文件中不存在这些文件。
如何包含这些文件?
答案 0 :(得分:0)
问题是setuptools_scm位于中间,并且在我的实验期间未提交这些文件。通过提交文件,一切正常