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

Set ENV["PYTHON"] = "" and ENV["R_HOME"] = "*" #74

Merged
merged 2 commits into from
Aug 28, 2020
Merged

Set ENV["PYTHON"] = "" and ENV["R_HOME"] = "*" #74

merged 2 commits into from
Aug 28, 2020

Conversation

DilumAluthge
Copy link
Member

E.g. if you look at the PyCall tests, you'll notice that it uses the system Python, and the tests fail: https://github.com/JuliaCI/NanosoldierReports/blob/master/pkgeval/by_date/2020-08/26/logs/PyCall/1.6.0-DEV-5da96913c2.log

This PR forces Julia to install its own Python and its own R.

cc: @maleadt

@DilumAluthge
Copy link
Member Author

Yeah

@maleadt maleadt merged commit 527179c into JuliaCI:master Aug 28, 2020
@maleadt
Copy link
Member

maleadt commented Aug 28, 2020

Thanks! I've updated the PkgEval bot, please keep an eye on tomorrow's run to see if this broke | fixed anything.

@maleadt
Copy link
Member

maleadt commented Sep 1, 2020

@DilumAluthge Did you check?

PyCall before: https://github.com/JuliaCI/NanosoldierReports/blob/master/pkgeval/by_date/2020-08/27/logs/PyCall/1.6.0-DEV-5da96913c2.log, finds Python system-wide, errors with UnicodeEncodeError: 'utf-8' codec can't encode characters in position 15-23: surrogates not allowed
PyCall after: https://github.com/JuliaCI/NanosoldierReports/blob/master/pkgeval/by_date/2020-08/28/logs/PyCall/1.6.0-DEV-c9b2cab1a7.log, does something with Conda, but fails with Couldn't find libpython; check your PYTHON environment variable.

@DilumAluthge
Copy link
Member Author

Out of the frying pan, into the fire. RCall (which used to pass before this PR) now fails after this PR.

Let's revert this. Maybe there is a different way to fix PyCall tests.

@maleadt
Copy link
Member

maleadt commented Sep 1, 2020

Nah, the errors seem like legitimate package issues.

@tkf
Copy link

tkf commented Sep 1, 2020

Isn't it better to use a setting that is as default as possible in PkgEval? In Linux, what PkgEval uses now deviates from most of the users' environment for all packages use PyCall. Please note that the failure motivated this PR is also a legitimate package issue that would have been nice to tracked in PyCall issue.

@maleadt
Copy link
Member

maleadt commented Sep 2, 2020

Please note that the failure motivated this PR is also a legitimate package issue that would have been nice to tracked in PyCall issue.

Sure, that was why I posted https://discourse.julialang.org/t/ann-nanosoldier-package-evaluation-with-badges/33339 back when :-) I don't have the time to wade through all package failures and find the most appropriate fix. If you think that providing python as part of the PkgEval environment better aligns with common user set-ups, then please propose a change. I figured that, with much of the Julia ecosystem moving towards providing their own binaries (using artifacts) this would be the way to go for PyCall too.

@tkf
Copy link

tkf commented Sep 2, 2020

I apologize if the tone of my previous comment had the impression of blaming you or anyone. I just wanted to point out that it's often a good idea to propagate the root cause to the upstream.

the Julia ecosystem moving towards providing their own binaries

I do understand the frustration of the fragility with external libraries some users experience. However, no all Julia users are non-Python users. As a member of technical computing community as a whole and not just a ecosystem within Julia, I do hope Julia-Python bridge is as open as possible. Of course, agenda of PkgEval probably is to improve the user experience within Julia ecosystem and it's maybe the best direction given the limited resource.

Anyway, besides the "philosophical" standpoint, I don't think it's relevant to my main point that it's ideal to change the default in upstream (=PyCall). This probably needs to wait until PyCall 2.0, though (I just noted this in 2.0 roadmap JuliaPy/PyCall.jl#629 (comment)).

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

Successfully merging this pull request may close these issues.

3 participants