Skip to content
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

Create a Remote Procedure Call helper #3033

Closed
blink1073 opened this issue Mar 5, 2016 · 3 comments · Fixed by #3049
Closed

Create a Remote Procedure Call helper #3033

blink1073 opened this issue Mar 5, 2016 · 3 comments · Fixed by #3049

Comments

@blink1073
Copy link
Contributor

This will be used for pylint, pep8, and introspection.

  • Create a QProcess with the executable of the current project, adding spyder and the appropriate dependencies (e.g. jedi) to the path.
  • Use ZMQ to pass pickled objects to a remote procedure call.
  • The remote end imports the desired modules(s) and performs the remote procedure calls, returning the result over the ZMQ socket pair.
RemoteClient(executable, dependencies, imports)
    onReply(request_number, result)
    send(func_name, *args, **kwargs)  # returns a request number
RemoteServer(imports, server_port, client_port)
@ccordoba12
Copy link
Member

Two things about this:

  1. Pyflakes needs to be called like this too :-)
  2. Fortunately all these packages work on both Python 2 and 3 at the same time (so importing from a Python 2 installation in a Python 3 remote process won't be a problem). The only missing piece was rope but its next version will be Python 3 compatible too.

@ccordoba12
Copy link
Member

@goanpeca, this is what you wanted :-)

@goanpeca
Copy link
Member

goanpeca commented Mar 5, 2016

:-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants