python-wordpress-xmlrpc
python-wordpress-xmlrpc copied to clipboard
How to fix "module 'collections' has no attribute 'Iterable'" error
When trying to retrieve a list of WordPress posts, I got the error module 'collections' has no attribute 'Iterable'
. This is because in Python 3.10, the version I was using, the Iterable
class has been moved to the collections.abc
module.
In order to solve this error, after installing the library with pip install python-wordpress-xmlrpc
, open the wordpress_xmlrpc folder (it should be in your virtual environment), then open the file base.py.
Here, you need to make two replacements:
- At line 1, replace
import collections
withimport collections.abc
- At line 128, replace
elif isinstance(raw_result, collections.Iterable):
withelif isinstance(raw_result, collections.abc.Iterable):
That should fix the error and allow the script to parse the raw result from the WordPress site.
THANK YOU!!!!!Lost my whole morning and part of yesterday evening trying to fix this without understanding why was giving problem. My project was working in another venv probably with an older interpreter a lost that project started from scratch and was getting crazy why something that was working before is not working now!BIG THANK YOU again
Nice! I'm glad you fixed it. Although I really appreciate this library - it's pretty straightforward - , I decided to switch to WP REST API, which is a lot more versatile.
Actually I use wordpress like forever, I use Python for small things but never join both of them. Chatgpt recommended me this library so I just got to learn there are better ones after 2000 lines of code were done lol. But again dude you saved my day! Own you a coffee!
No problem, such is the beauty of internet :)
I wish i saw this earlier. I have a pull request for it ready to go if the author is so inclined: https://github.com/maxcutler/python-wordpress-xmlrpc/pull/156 @maxcutler
Thanks =D