Merge (common parts of) PythonCall and PyCall?
I realize PyCall is legacy (at least to me), but it will still be used (some wrappers for Python code depend in it) for the foreseeable future.
It also has one pro, faster startup, so I was thinking does it make sense to merge some parts is some sort of PyCallBase that likely ordinary users wouldn't use.
If you use PythonCall and PyCall together you have to be careful, but that package would make sure to download the same Python for you (or use the system one, maybe?), at least making sure both will work together.
I have been pondering the same thing.
It's appealing, but in order to do this in a way that is backwards compatible for PyCall (so that we don't need to release PyCall v2, which is probably unlikely to catch on at this point), we'd have to use whichever Python PyCall uses (i.e. the one from Conda.jl) which would be quite a step backwards for PythonCall.
This decision isn't set in stone though. I'm planning to chat to the PyCall maintainers some time to see what they think.
So I'm inclined to leave the two projects separate. At least you get a warning if you try to use both PyCall and PythonCall with different versions of Python, so you know you need to fix something, e.g. set JULIA_PYTHONCALL_EXE=@PyCall.
I may add a similar PyCall-compat mode to CondaPkg so that it can install stuff into the Conda.jl environment used by PyCall.
At least you get a warning if you try to use both PyCall and PythonCall
Yes, that would be better. I think I get a warning in the form of a segfault. :) I don't recall what I was doing exactly today, I at least got a segfault, building PyCall first, and then using your package (indirectly, I believe I was using PythonPlot, at least I resonved the issue).
This issue has been marked as stale because it has been open for 30 days with no activity. If the issue is still relevant then please leave a comment, or else it will be closed in 7 days.
This issue has been closed because it has been stale for 7 days. You can re-open it if it is still relevant.