-
-
Notifications
You must be signed in to change notification settings - Fork 39
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
FYI: Support PythonCall.jl #97
Comments
@PallHaraldsson Have you compared JuliaCall with PyJulia? Diffeqpy uses PyJulia for calling Julia from Python. |
I haven't used PythonCall much but it compares to PyJulia. I realize PyJulia is currently used, I'm not sure PythonCall could be a non-default option, might be confusing to have two options. It might be better to support PythonCall only. |
Having two options is untenable. Really it needs to be one well-supported one. If it's just the Julia installation, right now it seems like pyjulia with JuliaPy/pyjulia#473 might be best. I would be happy if @00sapo could help us figure out a nice solution for automating the diffeqpy installation. |
PythonCall already downloads Julia for you, that was my main reason for proposing the change, otherwise your call. |
That's a gigantic change. If you're willing to do all of that work then go for it. |
Hello, I did some comparisons that you can use for your use case to check if juliacall is as performant as pyjulia: https://github.com/00sapo/pyjulia-vs-juliacall. If you do that, feel free to send a PR. In that project there are also usable examples of how mu proposal JuliaPy/pyjulia#473 can be used, and it's compared with juliacall approach. Juliacall downloads Julia at the first usage, I don't actually like this way of working. My function can be used on the user need. Morever , on my system (Linux Manjaro), my function can reliably detect the existing Julia version, JuliaCall can't do that. Maybe, we could create a separate python package that simply provides this function and other tools if needed (e.g. a pre-compiled environment to improve startup time). |
There are very big differences between PythonCall and PyJulia. The fact that one downloads julia automatically is a minor detail in comparison. It shouldn't determine the choice--- like buying car because you like the cup holder. For example, the script that Chris linked to or something like it would be reasonable for automatic downloading.
|
Now done via PythonCall |
https://cjdoris.github.io/PythonCall.jl/stable/juliacall/#Installation
I checked it myself and it does download Julia for you, as claimed (1.7) and its example works. So I tried with your package to see if it worked too, but got some PyCall error, understandably. I just think if might help your users to not have to download or know much about Julia. I've not used PythonCall extensively myself. It does have a larger startup cost (currently, I have a PR coming up bringing down to 3.06 sec. maybe further).
PyCall didn't work right away, I had to build it.
The text was updated successfully, but these errors were encountered: