0

我正在尝试在我发布给我的一些同事的一小组 Python 脚本中找到一种解析 YAML 的方法。

这些用户很聪明,但却是电气工程方面的专家,他们在编程或软件安装方面的专业知识很少,所以我需要让他们尽可能轻松地使用我的脚本。

他们的 Python 环境将是从 python.org 下载的纯 Python 2.7 发行版,或者是Enthought Python 发行版的免费版本。两者都没有安装 PyYAML 或 libYAML。

所以我的困境是如何在我分发的脚本中包含 YAML 支持。

我不想让我的最终用户通过 easy_install 或 pip;这对我来说相当容易,但他们可能会遇到问题,就像我第一次尝试查找 setuptools.py 时所做的那样。此外,如此 SO question中所述,他们可能没有 root/管理员访问权限来安装其他系统包(python 可能由 IT 人员在他们的计算机上预先安装)。

您对在这些情况下如何解析 YAML 文件有什么建议吗?

4

2 回答 2

2

根据 Aya 的建议,我将/lib/yamlPyYaml 版本 ( https://bitbucket.org/xi/pyyaml/src ) 中的目录复制到我的脚本目录中:

+ my-python-scripts
|
+-- myScript.py
|
+-+ yaml
  |
  +-- __init__.py
  +-- composer.py
  +-- constructor.py
  .
  .
  .

然后我可以import yaml在我的脚本中使用它,它工作正常。无需全局安装。

于 2013-04-12T21:01:46.583 回答
2

是否有某些原因您不能只在您分发的文件中包含 YAML 解析器的 Python 源代码?

PyYAML 声称包含一个纯 Python 实现,因此将它与您的包捆绑在一起应该是相当简单的。

如果您只是解析包含在分发文件中的 YAML 文件,那么另一种选择可能是将它们预先转换为 Python 的基础库可以处理的其他格式。

于 2013-04-12T18:48:57.663 回答