Concerning the half-dead status of SASTEP, I've been motivated to write some plugins for MO to contribute on the topic. However I'm having troubles on just setting a decent environment for developing plugins via PythonProxy.
Currently my goal is to establish a development environment. To do that, I need MO connected with a decent Python debugger, or at least a responsive REPL for interactive introspection on plugin APIs. What would you suggest?
[spoiler=What had been tried so far...]
I've been trying in two ways to achieve that: one is to remote debugging via existing Python IDE, and the other is to directly attaching a REPL module onto the MO. But neither have been successful so far.
1. Remote debugger
I've tried with PTVS, my favorite IDE. There are two ways to initiate connections from MO to PTVS: via "Attach to Process" menu or via ptvsd module. However the former failed to pause execution of MO which renders it useless. It works perfectly normal if you attach to an ordinary python process, so I suspect that PTVS failed to hook into the debuggee for some reason. The latter worked with a bit of trick (replacing python27.dll to stock 2.7.5 binary, adding _socket.pyd onto PYTHONPATH, etc...) but it still did not work correctly; I was able to attach into the process and see the code, but within a short time the debugger REPL becomes disconnected along with the rest of PTVS functionalities.
2. Launching REPL from MO
I've given a try on Spyder. However it seems to require full-featured PyQt5, which is not available in MO (it contains only three PYD modules and SIP). I did not dare to replace PyQt5 to full package for three reasons:
- MO itself is built upon Qt. It would be dangerous to attach a full package of PyQt5 which ships its own Qt binaries on the same process.
- I have no idea which version of PyQt5 is deployed with MO, so I can't find a compatible package of PyQt5. Github repo of MO does not tell me anything as they are shipped with binaries only.
- Weirdly enough, googling PyQt5 for Python 2.7 32 bit does not show anything. PyPI refuses to show older version of PyQt5 which makes hard to find a compatible version to work with MO.
There are other Qt-based IDEs (such as Jupyter and so on), but it would show similar result. So I'm stuck here.
Question
trongus
Concerning the half-dead status of SASTEP, I've been motivated to write some plugins for MO to contribute on the topic. However I'm having troubles on just setting a decent environment for developing plugins via PythonProxy.
Currently my goal is to establish a development environment. To do that, I need MO connected with a decent Python debugger, or at least a responsive REPL for interactive introspection on plugin APIs. What would you suggest?
[spoiler=What had been tried so far...]
I've been trying in two ways to achieve that: one is to remote debugging via existing Python IDE, and the other is to directly attaching a REPL module onto the MO. But neither have been successful so far.
1. Remote debugger
I've tried with PTVS, my favorite IDE. There are two ways to initiate connections from MO to PTVS: via "Attach to Process" menu or via ptvsd module. However the former failed to pause execution of MO which renders it useless. It works perfectly normal if you attach to an ordinary python process, so I suspect that PTVS failed to hook into the debuggee for some reason. The latter worked with a bit of trick (replacing python27.dll to stock 2.7.5 binary, adding _socket.pyd onto PYTHONPATH, etc...) but it still did not work correctly; I was able to attach into the process and see the code, but within a short time the debugger REPL becomes disconnected along with the rest of PTVS functionalities.
2. Launching REPL from MO
I've given a try on Spyder. However it seems to require full-featured PyQt5, which is not available in MO (it contains only three PYD modules and SIP). I did not dare to replace PyQt5 to full package for three reasons:
- MO itself is built upon Qt. It would be dangerous to attach a full package of PyQt5 which ships its own Qt binaries on the same process.
- I have no idea which version of PyQt5 is deployed with MO, so I can't find a compatible package of PyQt5. Github repo of MO does not tell me anything as they are shipped with binaries only.
- Weirdly enough, googling PyQt5 for Python 2.7 32 bit does not show anything. PyPI refuses to show older version of PyQt5 which makes hard to find a compatible version to work with MO.
There are other Qt-based IDEs (such as Jupyter and so on), but it would show similar result. So I'm stuck here.
4 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now