Python 是否可以将.xml文件嵌入到conda包中?

Python 是否可以将.xml文件嵌入到conda包中?,python,package,conda,Python,Package,Conda,我正在为Python开发一个conda包。 代码的某些行为取决于存储在.xml文件中的信息 我不希望我的包依赖于一个外部文件,该文件应该随包一起分发,并且必须由包找到 当我构建conda包时,有没有办法将这个.xml文件嵌入到它中 谢谢 如果您正在开发python软件包,解决此问题的一种简单方法是直接使用setuptools来传送附加数据: 一个简单的示例项目可以如下所示 example_project ├── Manifest.in ├── data │   └── data.xml ├──

我正在为Python开发一个conda包。 代码的某些行为取决于存储在.xml文件中的信息

我不希望我的包依赖于一个外部文件,该文件应该随包一起分发,并且必须由包找到

当我构建conda包时,有没有办法将这个.xml文件嵌入到它中


谢谢

如果您正在开发python软件包,解决此问题的一种简单方法是直接使用setuptools来传送附加数据:

一个简单的示例项目可以如下所示

example_project
├── Manifest.in
├── data
│   └── data.xml
├── setup.py
└── test_me
    └── __init__.py
各部分:

data/data.xml
(您希望随包提供的数据):

Manifest.in
(确保在构建分发时包含数据):

setup.py
(一个最小的设置脚本;请注意,我们显式地设置了
include\u package\u data
):

要测试它,您可以通过
pip install.
从顶层目录安装它,然后使用
python-c“import test\u me;print(test\u me.message)”


conda软件包只是安装python软件包,不需要额外的步骤。

是的,您可以使用它向conda软件包添加任意文件。谢谢!我访问了您共享的链接,但我仍然无法确定如何将其他文件包含到包中。查看示例()也没有帮助。你能分享一个工作实例吗?对不起,我没有花足够的时间来理解这个用例。我张贴了一个方法,应该解决你的问题,而不处理康达包装特殊。这种方法直接使用setuptools安装和定位数据。这正是我所寻找的,我认为这对我来说很有用,谢谢!我不明白这一行是如何工作的:
resource\u filename(Requirement.parse(“TestMe”),“data/data.xml”)
它知道“TestMe”确实是目录test\u me吗?好吧,我理解我的误解,
TestMe
是包的名称。
<data>
    <message>Hello World!</message>
</data>
from pkg_resources import Requirement, resource_filename
import xml.etree.ElementTree as ET
xml_file = resource_filename(Requirement.parse("MyPythonPackageName"), "data/data.xml")

etree = ET.parse(xml_file)
message = etree.getroot()[0].text
include data/data.xml
from setuptools import setup, find_packages

setup(
    name='MyPythonPackageName',
    version='1.0.0',
    author='Me',
    author_email='author@me.com',
    description='additional resource example',
    packages=find_packages(),
    include_package_data=True
)