MathDOM 0.8与Python 2.7兼容吗?

时间:2011-08-20 10:54:32

标签: python mathml

我想将AsciiMath转换为MathML。我只是想获取XML内容,但我不需要在浏览器上显示。

所以,我安装了MathDOM 0.8,lxml 2.3,pyparsing 1.5.6。我没有安装PyXML,因为MathDOM使用PyXML lxml, pyparsing。

然后我在MathDOM目录中运行了三个例子,例如dom.py,infix.py和ldom.python。

dom.py infix.py 输出错误: ImportError:没有名为Element的模块

否则, ldom.py 会输出其他错误: AttributeError:'NoneType'对象没有属性'setParseAction'

我也尝试过安装PyXML,但我也无法运行这些示例。

请帮帮我。

感谢。

3 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题 - 非常感谢你和Jon Olav Vik指出我的解决方案。

我正在使用virtualenvpip,因此通过常规机制安装旧版本实际上比Jon描述的手动捆绑更好。不幸的是,仅仅执行pip install pyparsing==1.4.2不起作用,但在SourceForge上指向pip肯定会有效。在一行中:

$ pip install http://downloads.sourceforge.net/project/pyparsing/pyparsing/pyparsing-1.4.2/pyparsing-1.4.2.tar.gz

答案 1 :(得分:0)

MathDOM 0.8(安装模块mathmlworks only with the older pyparsing 1.4.2。 以下是使用旧版本覆盖pyparsing的方法,仅影响mathml。在Windows 7上的Python 2.7上测试:

  • 下载并解压缩MathDOM 0.8
  • 下载revision 68 of pyparsing.py(版本1.4.2根据SVN提交消息,尽管存储库中没有标记)并将其保存在您解压缩的mathdom-0.8/mathml文件夹中。这将优先于已安装的pyparsing,但仅适用于mathml包。
  • 导航至mathdom-0.8/并安装(例如python setup.py installpip install .,可能附加--prefix=$HOME/usr或某些内容。
  • 使用python -c "from mathml import termparser"进行测试;它应该在先前使用AttributeError: 'NoneType' object has no attribute 'setParseAction'失败的地方取得成功。

    您还可以验证python -c "from mathml import pyparsing; print pyparsing.__version__"打印1.4.2,而python -c "import pyparsing; print pyparsing.__version__"打印1.5.6

希望这有帮助!

答案 2 :(得分:0)

我碰巧在Windows 7的python 2.7上遇到matplotlib的pyparsing缺失。我从https://pypi.python.org/pypi/pyparsing/1.5.7下载了zip版本,解压缩,在解压后的目录中打开一个命令提示符,我在那里运行setup.py并运行{ {1}}它奏效了!唯一的补充是我必须将python位置添加到我的路径变量中。像这样:python setup.py install在执行上一个命令之前。