Совместим ли MathDOM 0.8 с Python 2.7? - PullRequest
2 голосов
/ 20 августа 2011

Я хочу конвертировать 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 ]

1 голос
/ 02 ноября 2012

Я столкнулся с точно такой же проблемой - большое спасибо вам и Джону Олаву Вику за указание мне в направлении решения.

Я использую virtualenv и pip, поэтому установкаСтарая версия через обычные механизмы была фактически предпочтительнее, чем ручное связывание, описанное ДжономК сожалению, просто pip install pyparsing==1.4.2 не работает, но указание pip на SourceForge, безусловно, работает.В одну строку:

$ pip install http://downloads.sourceforge.net/project/pyparsing/pyparsing/pyparsing-1.4.2/pyparsing-1.4.2.tar.gz
0 голосов
/ 11 августа 2013

Я столкнулся с отсутствием pyparsing для matplotlib на python 2.7 в Windows 7. Я скачал zip-версию с https://pypi.python.org/pypi/pyparsing/1.5.7, извлек, открыл командную строку внутри извлеченного каталога, где у меня есть setup.py, и запустилpython setup.py install Это сработало!Единственной дополнительной вещью было то, что мне пришлось добавить местоположение Python в мою переменную пути.Например: set path=%path%+;C:\python27 перед выполнением предыдущей команды.

0 голосов
/ 15 сентября 2011

MathDOM 0.8 (который устанавливает модуль mathml) работает только с более старой версией 1.4.2 . Вот способ переопределить pyparsing с более старой версией, затрагивая только mathml. Протестировано на Python 2.7 в Windows 7:

  • Загрузите и извлеките MathDOM 0.8 .
  • Загрузите ревизию 68 из pyparsing.py (версия 1.4.2 в соответствии с сообщениями фиксации SVN, хотя в хранилище нет тегов) и сохраните ее в извлеченной папке mathdom-0.8/mathml. Это будет иметь приоритет над установленным pyparsing, но только для пакета mathml.
  • Перейдите к mathdom-0.8/ и установите (например, python setup.py install или pip 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.

Надеюсь, это поможет!

...