我正在尝试找到一种解析YAML的方法,我将向我的一些同事发布一小段Python脚本。
这些用户虽然聪明但是电气工程专家,他们在编程或软件安装方面的专业知识很少,所以我需要让他们尽可能轻松地使用我的脚本。
他们的Python环境将是从python.org下载的普通Python 2.7发行版,或者是Enthought Python Distribution的免费版本。没有安装PyYAML或libYAML。
所以我的困境是如何在我分发的脚本中包含YAML支持。
我不想让我的最终用户通过easy_install或pip;它对我来说相当容易,但它们可能会遇到问题,就像我第一次尝试查找setuptools.py时那样。他们也可能没有root / Administrator访问权限来安装其他系统软件包(python可能由IT人员在他们的计算机上预先安装),如this SO question中所述。
在这些情况下,您对如何解析YAML文件有什么建议吗?
答案 0 :(得分:2)
是否有某些原因你不能只在你分发的文件中包含YAML解析器的Python源代码?
PyYAML声称包含一个纯Python实现,所以将它与你的包捆绑在一起应该是相当简单的。
如果您只是解析分发文件中包含的YAML文件,那么另一个选项可能是将它们预先转换为Python基础库可以处理的其他格式。
答案 1 :(得分:2)
根据Aya的建议,我将PyYaml版本(https://bitbucket.org/xi/pyyaml/src)中的/lib/yaml
目录复制到我的脚本目录中:
+ my-python-scripts
|
+-- myScript.py
|
+-+ yaml
|
+-- __init__.py
+-- composer.py
+-- constructor.py
.
.
.
然后我可以在我的脚本中使用import yaml
,它运行正常。无需全局安装。