使用安装工具使用 Python 库安装数据文件位置



我正在构建和发布一个 Python 库,我需要有一个模板文件 (xml( 可供稍后在磁盘上编辑和写入。

比方说,我的template.xml在我的包目录中。

我读到有两种方法:

  1. include mypackage/template.xml MANIFEST.in
  2. setup.py中指定:package_data={'mypackage': ['template.xml']}

在这两种情况下,我都保留了选项include_package_data=True.

显然,文件被放入鸡蛋中。然后我使用sdist发行版构建我的库并在pypi上发布(这是在 Travis 中完成的(。但显然我的文件没有安装。或者至少我没有找到它。

为了获取文件,我尝试执行以下操作:

xml_template = pkg_resources.resource_filename('mypackage', 'template.xml')

导致

FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.7/site-packages/mypackage/template.xml'

我该怎么办?

显然

,删除include_package_data=True解决了这个问题。

我在这个答案上找到了这个想法 https://stackoverflow.com/a/33167220/1548052但没有解释为什么。

最新更新