-
Notifications
You must be signed in to change notification settings - Fork 340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeError: Element() keywords must be strings #72
Comments
This doesn't reproduce with newer versions of lxml - if possible, it'd be good to test with at least 2.3.6 but it appears that simply using a newer version of Cython during compilation might be sufficient based on this compatibility fix which they made about six months ago: http://comments.gmane.org/gmane.comp.python.cython.user/7190 Chris |
lxml was built without cython. and I have same problems with lxml-2.3.6 |
lxml 2.3 appears to ship with sources compiled using Cython 0.14. It looks like you will need to either switch to lxml 3.0 or install Cython 0.17 or later before installing lxml 2.3.x:
If lxml 2.x is still supported it might be worth creating an issue on lxml for an upstream release using a version of Cython which is fully compatible with Python 2.6+ and Chris |
Thanks. I have found the solution (change lxml version). |
We just ran into this. Is lxml version xxxxxx specified as a dependency by pysolr? I.e., when pysolr installs, does it look for lxml>=3.x.y? |
@stugots Not by default – it's optional and only used for parsing Tomcat error messages so we don't want to install it everywhere. I updated the |
This seems to be back in the latest GIT revision of django-haystack... The traceback seems to indicate that the error is in lxml, but there is practically no way to do this on Ubuntu 12.10. I tried the "patch" above and this seems to work.
|
@xudonax Did you try upgrading to lxml 3? It's a clean install on Ubuntu. |
I couldn't update lxml in any way. apt-get update && apt-get upgrade didn't give me any upgrades. Then again, I'm still on 12.10, I guess I can wait a little while and check it out on Ubuntu 13.04 which should be released any day now. |
@xudonax Ubuntu won't ship an updated lxml system package but you can install lxml 3 along with everything else from PyPI inside a virtualenv – I've run it on 12.04 servers that way for awhile. |
I got an gcc compilation error. I'll take a look at dependencies tomorrow. So far I installed only libxml-dev AFAIK, because it couldn't find python-dev... |
I get the same issue. Using lxml 3.2.0 pysolr 3.0.6 |
I was running into this issue. The following setup worked for me: |
I had this issue, but fixed it by changing to lxml 3.0.2. I'm using pysolr 3.0.6. |
I had the same issue. It works for me after upgrading lxml 2.3.2 to 3.2.4. |
@toastdriven Think it's worth making our lxml check do something like issue a warning and fallback to stdlib if lxml is present but <3.x? |
I just ran into that issue (from 2013?). Wouldn't it be better to make pysolr require a certain lxml version in its setup.py to avoid problems like this? |
@tisto The problem was that people had other versions of lxml in their projects & it'd conflict for something which is only relevant to a subset of users. My preferred approach is the one from #133 (comment) where we simply drop lxml entirely since it's only used for error handling. I just wrapped that code into #149 for easier testing / commenting. |
attrs looks like
{u'name': 'django_ct'}
env:
Possible fix (works for me)
The text was updated successfully, but these errors were encountered: