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

Use subprocess for interpreter #353

Open
thomasballinger opened this issue Aug 21, 2014 · 2 comments
Open

Use subprocess for interpreter #353

thomasballinger opened this issue Aug 21, 2014 · 2 comments

Comments

@thomasballinger
Copy link
Member

This would:

  • make supporting virtual environments pretty easy
  • make module reloading more reliable (no more not being able to reload some modules, no more having access to the same modules as bpython)
  • get rid of the greenlet dependency (requires c compiler) - no more jumping back and forth between of user code and UI code
  • make getting threads to work normally easier
  • allow a cleaner evented system around a select loop
  • make user subprocesses work correctly
  • install one version of bpython (python2.6 - 3.4) and bpython works with all python versions
  • let bipython reuse more of our code maybe

It would suck because:

  • we would have to do all the completion with interprocess communication
  • interprocess communication might not be fast enough for the user experience we need - and leads to caching which could get complicated in the best case, and not work in the worst
  • Windows compatibility would probably go further out the window
  • some code will have to run in the process (import completion, import observer, completion introspection)
  • a simple python repl probably isn't enough - we'll still need an InteractiveInterpreter over there
  • there are going to be difficulties with version compatibilities - every combination (n by n) of Python versions ought to be tested
  • this may involve reading the IPython code and noticing that it's nicer in some ways than ours 😉
@thomasballinger thomasballinger added this to the separate-process milestone Aug 21, 2014
@thomasballinger
Copy link
Member Author

I'm not planning to do this for another release at least.

@thomasballinger
Copy link
Member Author

New thoughts on this:

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

No branches or pull requests

1 participant