Conversation
| - uses: julia-actions/julia-runtest@v1 | ||
| env: | ||
| LD_LIBRARY_PATH: /home/runner/.julia/conda/3/x86_64/lib | ||
| - uses: julia-actions/julia-processcoverage@v1 |
There was a problem hiding this comment.
Are we sure this is not still needed? It would seem to me that this issue is orthogonal to the PythonCall/PyCall choice.
@OkonSamuel What say you?
There was a problem hiding this comment.
I think that this hack was due to outdated libstdcxx libraries in julia. PythonCall.jl handles this now, and restricts python package versions to only those that are compatible with the current julia session.
edit: this may be needed still for scikit-learn v1.2 to install on older Julia versions. Trying to figure it out.
ablaom
left a comment
There was a problem hiding this comment.
Fantastic work. I can't believe how quickly you pulled this together.
I note that CI is failing on 1.6 Ubuntu. My guess is that a different version of the python libraries are being installed, possible related to @OkonSamuel's libstcxx hack that has been removed??
Is there a way to restrict sk-learn version to [1.2, 1.3)?
On Julia 1.6, scikit-learn v1.1.1 is being installed due to |
|
If you haven't done so already, perhaps you should rebase off the new dev, now that @OkonSamuel's PR is merged? |
That's what my hack was meant to address for the CI. |
I think that PR has been merged into my branch. I see the changes he made. I will have time after Tuesday of this week to do any remaining tasks to get this PR ready. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev #56 +/- ##
==========================================
+ Coverage 87.43% 95.07% +7.63%
==========================================
Files 12 13 +1
Lines 207 264 +57
==========================================
+ Hits 181 251 +70
+ Misses 26 13 -13 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I added a hack to get the CI working on Ubuntu + Julia 1.6. The hack just replaces julia's libstdcxx with the action runner's version, which is more up to date. I am not sure what is different about the github actions version of julia, but it has a older libstdcxx version than julia 1.6 when I install it on my personal computer. For me, the test suite passes with 0 issues on local julia 1.6 installs. Let me know what you think. |
|
@tylerjthomas9 I can't see anything left to do here but I'd like @OkonSamuel to comment on your alternative hack. Then we should coordinate this merge with the OutlierDetectionPython.jl PR. I'll open a tracking issue shortly. |
| libs = filter(x -> ! occursin("32", x), getindex.(split.(readlines(pipeline(`ldconfig -p`, `grep libstdc`)), r"\s*=>\s*"), 2)) | ||
| source_dir = dirname(libs[end]) | ||
| julia_lib_dir = joinpath(dirname(Sys.BINDIR), "lib", "julia") | ||
| julia_lib_file = get(filter(endswith(r"libstdc\+\+.so\.\d+\.\d+\.\d+"), readdir(julia_lib_dir, join = true)), 1, nothing) | ||
| julia_lib_version = match(r"so(\.\d+)\.", julia_lib_file).captures[1] | ||
| source_lib = get(filter(endswith(r"libstdc\+\+.so\.\d+\.\d+\.\d+"), readdir(source_dir, join = true)), 1, nothing) |
There was a problem hiding this comment.
All these is dependent on libs not being empty. Which I think makes sense for Ubuntu builds since there is always a libstdc shared library. Right?
It's the same thing I did. i.e replacing Julia's libstdxx with the up to date system's libstdxx (In my case I replaced it with the libstdxx from the Conda package). Can we document this Hack in the README?
Are you running Ubuntu? |
|
Added a quick note in the documentation for fixing the
I am. I also tried github codespaces, and had 0 issues with Julia 1.6.7 on Linux. |
That's strange. It fails when I try it on my ubuntu system. Although, I haven't ran any update on my ubuntu for a while now. |
Here is my initial attempt at dropping ScikitLearn.jl, and just including the base PythonCall.jl wrapper. Let me know what you think. I think that it would be great to methods for preparing the data, similar to what we did in CatBoost.jl, but I haven't implemented them yet.