Dear Devin:

On Tue, 10 Jan 2017, Devin A. Bougie wrote:
> bibrecord - create_record() with lxml ... FAIL

This is the most probable source of your problems. The record creation
uses lxml parser preferentially, which somehow fail on your system.

There are two possibilities:

(1) You can debug what is wrong with your lxml setup. E.g. on my v1.2
test box I'm using this version:

  $ pip freeze | grep lxml
  lxml==3.1.2

and everything is OK:

  $ sudo -u www-data python 
/opt/invenio/lib/python/invenio/bibrecord_unit_tests.py
  [...]
  Ran 72 tests in 0.354s

  OK

You should have the same version of `lxml` installed via
`requirements.txt`. Perhaps you also have a native OS-packaged lxml
version which causes some conflicts? You may want to check and uninstall
any conflicting system packages:

  $ rpm -qa | grep -i lxml

(2) You can use a different parser instead of lxml. As I mentioned in my
previous email, you can either manipulate the order of
CFG_BIBRECORD_PARSERS_AVAILABLE in bibrecord_config.py, or you can
simply uninstall lxml, which will force Invenio to fall back to using
minidom parser. This one seems to work well on your system:

> bibrecord - create_record() with minidom ... ok

The downside would be that minidom is the slowest parser available...

You can try installing the rxp parser, which I don't see in your output.
RXP is the fastest parser available, and it works well on my box:

  $ sudo -u www-data python 
/opt/invenio/lib/python/invenio/bibrecord_unit_tests.py 2>&1 | grep 
create_record
  bibrecord - create_record() with lxml ... ok
  bibrecord - create_record() with minidom ... ok
  bibrecord - create_record() with pyRXP ... ok

BTW `rxp` should have been installed on your box via `(sudo) pip install
-r requirements.txt` too?

Best regards
--
Tibor Simko

Reply via email to