Python plugins not working
rumpeltux opened this issue · comments
My setup with iaito 5.7.0 (from releases page):
$ pip3 install cutter PySide2
$ pip3 show cutter
Name: cutter
Version: 0.5.0
$ cd ~/.local/share/radareorg/iaito/plugins/
$ wget https://raw.githubusercontent.com/radareorg/iaito/master/src/plugins/sample-python/sample_python.py
But the demo plugin is not being loaded
$ iaito
Loading translations path /home/rumpel/.local/share/iaito/translations
Loading translations path /usr/share/qt5/translations
QCommandLineParser: already having an option named "w"
Plugins are loaded from "/home/…/.local/share/radareorg/iaito/plugins"
Loaded 0 plugin(s).
$ python3 sample_python.py
Traceback (most recent call last):
File "/home/…/.local/share/radareorg/iaito/plugins/sample_python.py", line 8, in <module>
class FortuneWidget(cutter.IaitoDockWidget):
AttributeError: module 'cutter' has no attribute 'IaitoDockWidget'
Not sure if this is a known issue, or if its supposed to be working at all at this time or if there’s something wrong with my setup.
I also didn’t find instructions on how to write iaito plugins and am not sure how to debug further, as I’m not seeing any attempted plugin loads or respective error messages.
The w
warning makes me think that you are using an old version of iaito.
The python bindings has been disabled by default because they were just causing lots of incompatibility problems between system and hosted versions of python. also the package is not cutter
anymore. it's iaito
. And i dont have any interest in bringing python supportback as its just another source of problems and techdebt for a very little benefit as you can use r2pipe to script r2 directly. binding qt and the whole user iaito apis just adds more complexity to something that's wrongly designed as its not thread safe or non-blocking.
What's your main interest on having iaito scripts to work? is there anything you can't do with plain r2pipe?
No r2pipe is working just fine. Took me a while to discover the r2-command window though and wasn’t aware that that’s an option previously.
So removing UI support seems reasonable if it’s too much maintenance work. Thanks for the explanation, I was mostly confused with the demo project in the repository (src/plugins/sample-python) not working, may make sense to remove if its not supported anymore.
So probably the solution is to make clear that python plugins are no longer supported and remove all the code involved.
Options in meson and acr have been removed