簡體   English   中英

python lxml 3.3.5 - 加載代碼時出錯 - “ValueError:lxml.etree._Element的大小錯誤,請嘗試重新編譯”

[英]python lxml 3.3.5 - error on loading code - “ValueError: lxml.etree._Element has the wrong size, try recompiling”

我通過pip安裝了lxml 3.3.5。 現在我在運行一些django測試時遇到了問題:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 71, in execute
    super(Command, self).execute(*args, **options)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/south/management/commands/test.py", line 8, in handle
    super(Command, self).handle(*args, **kwargs)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 88, in handle
    failures = test_runner.run_tests(test_labels)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/test/runner.py", line 144, in run_tests
    suite = self.build_suite(test_labels, extra_tests)
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/django/test/runner.py", line 63, in build_suite
    tests = self.test_loader.loadTestsFromName(label)
  File "/usr/lib/python2.7/unittest/loader.py", line 91, in loadTestsFromName
    module = __import__('.'.join(parts_copy))
  File "/vagrant/myapp/tests/test_myapp.py", line 12, in <module>
    import dm.xmlsec.binding as xmlsec
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/dm/xmlsec/binding/__init__.py", line 2, in <module>
    from _xmlsec import *
  File "etreepublic.pxd", line 33, in init dm.xmlsec.binding._xmlsec (src/_xmlsec.c:9587)
ValueError: lxml.etree._Element has the wrong size, try recompiling

跟蹤顯示,它在加載代碼時失敗。 如果我嘗試從python shell進行導入,它第一次失敗:

In [1]: import dm.xmlsec.binding as xmlsec
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-1-74e93bb8b8dd> in <module>()
----> 1 import dm.xmlsec.binding as xmlsec

/home/vagrant/venv/local/lib/python2.7/site-packages/dm/xmlsec/binding/__init__.py in <module>()
      1 # Copyright (C) 2012 by Dr. Dieter Maurer <dieter@handshake.de>; see 'LICENSE.txt' for details
----> 2 from _xmlsec import *
      3 
      4 def dsig(tag):
      5   """`lxml` tag designator for *tag* in DSig namespace."""

/vagrant/etreepublic.pxd in init dm.xmlsec.binding._xmlsec (src/_xmlsec.c:9587)()

ValueError: lxml.etree._Element has the wrong size, try recompiling

In [2]: import dm.xmlsec.binding as xmlsec

有什么幫助嗎?

試試這個:

pip install -I --no-cache lxml==3.3.5
pip uninstall -y dm.xmlsec.binding
pip install --no-cache dm.xmlsec.binding

lxml之前安裝dm.xmlsec.binding或者lxml發生更改時,我遇到了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM