Unable to build PyCall and RCall

By the way, the Scripts\\conda.exe was located in C:\Users\probi\miniconda3 after I installed it with the GUI.

Now, the last problem is to build RCall. I get the exact same error messages as for PyCall (conda does not build properly). I tried the ENV["R_HOME"] = "*" trick from the tutorial, but it doesn’t work. Where would I find the proper .exe for R?

What are those packages, you use? ScikitLearn.jl is one of those (a wrapper package, requiring PyCall, for Python’s scikit-learn), the most important or only one?

You CAN use (all of) Python’s scikit-learn (with its Python API) from Julia with (see how to import there in the docs): The Julia module PythonCall · PythonCall & juliacall

That’s probably not very useful to know, since code you use doesn’t use the Python API directly rather the Julia API, i.e. the wrapper ScikitLearn.jl. Of course PyCall (and it) should just work, but I checked if PythonCall support is on the radar, and I only found it mentioned in one unrelated comment: https://github.com/search?q=repo%3Acstjean%2FScikitLearn.jl%20PythonCall&type=code

The rabbit hole is a bit deeper, you might be using (which also requires PyCall): GitHub - JuliaAI/MLJScikitLearnInterface.jl: MLJ Interface for ScikitLearn.jl

Some wrapper packages have been migrating from PyCall, and I believe PythonCall.jl is the future. [You should be able to use PyCall and PythonCall together, e.g. if one of your (wrapper) packages uses one, and another the other.]

One important one to switch (keeping the name), also PyMNE.jl switched:

You can see PyCall has “334 Dependants”, so it’s hard to fully dislodge (vs “26 Dependants” for PythonCall):
https://juliahub.com/ui/Packages/PyCall/GkzkC/1.95.1?page=0

[Actually CatBoost is still listed as one, so it seems the dependents aren’t updated automatically, maybe on purpose, since for older versions, that you can still install, PyCall is used.]

E.g. PyPlot.jl uses PyCall.jl, but PythonPlot.jl, its replacement, uses PythonCall.jl. Note, I don’t think you can support both PyCall and PythonCall at the same time with some package (i.e. in same, or newest, version).

One package using PythonCall.jl with MLJ:

One solution is if/when more of the Julia ecosystem uses Julia only packages, I’m sure the reliance on ScikitLearn.jl is getting less and less. E.g. people use DataFrames.jl rather than Pandas.jl (or PandasLite.jl both packages rely on PyCall.jl and are hopefully getting outdated to use, still PythonCall.jl has some pandas specific code if not).

It seems likely you might use MLJ.jl and then possible (or in other ways through workarounds): GitHub - JuliaAI/MLJScikitLearnInterface.jl: MLJ Interface for ScikitLearn.jl

The notebook is using DelimitedFiles (and CSV), a package getting a bit outdated to use, or arguably CSV only is good enough. It also mentioned (as an alternative) the very outdated (as a Julia wrapper) TensorFlow.jl.

1 Like

Fixed: download installer to tempdir(), not installation dir by stevengj · Pull Request #231 · JuliaPy/Conda.jl · GitHub

1 Like