-
Notifications
You must be signed in to change notification settings - Fork 363
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
Julia builds #23
Comments
- Looks for REQUIRE file in a repo, assumes is Julia - Version pinned to v0.5.2 now - in the future, pick one based on presence of Julia spec in REQUIRE Fixes #23
- Looks for REQUIRE file in a repo, assumes is Julia - Version pinned to v0.5.2 now - in the future, pick one based on presence of Julia spec in REQUIRE Fixes #23
If you run |
Hi, |
I tried adding a REQUIRE file with |
I copied/stole the Dockerfile from a source in the file; but perhaps I need more of the invocations from this Dockerfile instead? |
hmm - are you building on your own machine? And if so try running from master...we bumped the julia version recently: #30 |
We haven't deployed 0.6 to beta.mybinder.org for REQUIRE support yet. Shall
do shortly!
…On Jun 30, 2017 8:35 AM, "Chris Holdgraf" ***@***.***> wrote:
hmm - are you building on your own machine? And if so try running from
master...we bumped the julia version recently: #30
<#30>
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAB23ppUd9fw1k1omLdLj560IxH5yVuQks5sJRXNgaJpZM4Nulja>
.
|
but to your broader point about setting up your own Dockerfile with Julia, see here for the "base" dockerfile etc that are used in the case of Julia builds...you could base your own dockerfile off of this. |
Thanks. Does that Dockerfile live somewhere to use as a base in a |
@sje30 @dpsanders so https://github.com/yuvipanda/simplejl works now (I did a bunch more deployments) on beta.mybinder.org. I don't think the docker images we have are a good source of For a plain dockerfile to work with Julia, am not sure what the best approach is. We haven't quite documented the requirements for getting a plain Dockerfile to work with binder yet. It's mostly just making sure that:
Do you think a Julia enabled image would be a good addition to https://github.com/jupyer/docker-stacks? Or could it live somewhere where it's maintained by the Julia community instead? We'd also want to add support for specifying versions of julia in the REQUIRE file - #34 should lead to a refactor that should help with this! Finally, I must admit I know very little Julia! Any and all help welcome and gladly accepted! thank you! |
We don't even maintain https://github.com/docker-library/julia/blob/master/Dockerfile, but if there were some way to paste that together with your jupyter dockerfiles (plus a If it helps, I live in Berkeley and would be happy to drop by BIDS for an hour or two any day if it would be useful to hack something out in person with some Julia expertise in the room. |
I'd appreciate some help getting a Dockerfile that had Julia 0.6.0 + pyplot (or similar) working. My efforts so far floundering with the plotting! |
Did you try the repo I linked to with binder? It works for me...
…On Jul 1, 2017 10:33 AM, "Stephen Eglen" ***@***.***> wrote:
I'd appreciate some help getting a Dockerfile that had Julia 0.6.0 +
pyplot (or similar) working. My efforts so far floundering with the
plotting!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAB23tM9hrlF4RCZZi2uPw79ipFbPbzoks5sJoLagaJpZM4Nulja>
.
|
… On Sat, Jul 1, 2017 at 10:55 AM, Yuvi Panda ***@***.***> wrote:
Did you try the repo I linked to with binder? It works for me...
On Jul 1, 2017 10:33 AM, "Stephen Eglen" ***@***.***> wrote:
> I'd appreciate some help getting a Dockerfile that had Julia 0.6.0 +
> pyplot (or similar) working. My efforts so far floundering with the
> plotting!
>
> —
> You are receiving this because you modified the open/close state.
> Reply to this email directly, view it on GitHub
> <#23 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AAB23tM9hrlF4RCZZi2uPw79ipFbPbzoks5sJoLagaJpZM4Nulja>
> .
>
--
Yuvi Panda T
http://yuvi.in/blog
|
thanks. I'd not seen the require file. Your version makes progress, but it needs a plotting engine to work still. e.g. PyPlot thanks for adding 0.6.0 of Julia! |
e.g. a minimal example for plotting
I'll add it to the notebook when I get chance. |
To clarify, it requires python libraries installed too to work?
…On Jul 1, 2017 11:39 AM, "Stephen Eglen" ***@***.***> wrote:
e.g. a minimal example for plotting
Using Plots
pyplot()
plot(rand(100))
I'll add it to the notebook when I get chance.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAB23qZRXYqV-KDHPPHVhTGk-cTy510cks5sJpJDgaJpZM4Nulja>
.
|
This is where some advice from @tkelman or @dpsanders might help. pyplot() is part of the PyPlot package, which I could only install this morning on Dockerfile by
(see https://github.com/sje30/simplejl/blob/master/Dockerfile) but then I think I got an error within the notebook saying that it could not find a suitable frontend. @dpsanders : which plotting frontend would you recommend be added? |
Right, so if you were using pip it would be 'matplotlib' that'll need to be installed (we generally prefer to install python dependenceis with pip or conda rather than apt). I'll work a bit on #34 today, which should help this situation a bit. |
Pkg.add("PyPlot") should install everything automatically (using its own installation of Conda). I recommend the GR and PlotlyJS backends. |
Though if we're going to use a jupyter backend that's set up already in the dockerfile through some other means, we wouldn't want to let Conda.jl bring in a whole separate instance. |
@tkelman we should totally hang out at Berkeley! I'll start an email thread to co-ordinate (anyone else in the area and wants to join is also welcome) |
Progress! https://binder.binder-staging.omgwtf.in/v2/gh/yuvipanda/simpljl/master You can see in https://github.com/yuvipanda/simplejl/ I now have a requirements.txt and a REQUIRE file - so multiple runtimes are supported! if you use a environment.yml file instead of requirements.txt you'll get a conda environment instead of venv. You can also install arbitrary apt packages by listing them in Try it out now? There are still some rough edges in this, but I hope to have it running on the main binder beta site by end of the week. |
woooot!
wooooooooooot!
wooooooooooooooooooot!
sounds good - do we have a good demo repo set up somewhere?
+1 to that...let's set up a demo repo or two first and then for sure we should spread the word |
Thanks guys! Amazing work. I'm happy to help with a minimal working example using PyPlots. If its easy to fix GR, that would be great to get working too. (@jheinen - have you seen this thread? It relates to getting jupyter notebooks running Julia with plotting working on binder.) |
GR can bee build without X11, but with limited output support. For IJulia, this should be no problem, as long as SVG is the default output format. SVG does not have any package requirements (same for PDF and PS). |
@sje30 @tkelman I finally got time to merge the work we did into master (along with a ton of other cleanups!). I've added integration tests now to this repo running on Travis, including a simple PyPlot based Julia one at https://github.com/jupyter/repo2docker/tree/master/tests/julia/pyplot. Thank you for all your work! |
Note that this isn't deployed on binder yet. I'm going to try to make a full release of repo2docker first before deploying on Binder. |
Great! Thanks for your work.
|
Excellent. Guess the PYTHONHOME issue with PyCall would still need to be addressed to make virtualenv work, but conda working without hacks is good enough for most people. Is there a test log somewhere to check that PyCall and the binder notebook are using the same conda install, and PyCall isn't downloading its own private one? |
@tkelman I just turned on full log capturing for all tests (and not just private ones), and you can see the logs for the Julia test here: https://travis-ci.org/jupyter/repo2docker/jobs/259053546 (it's just building). I'd also love to have at least a couple other Julia integration tests here :D |
|
w00t. Should I add it to the verify script at https://github.com/jupyter/repo2docker/blob/master/tests/julia/pyplot/verify? |
@tkelman so @choldgraf @tkelman @sje30 Do you think we can now officially call Julia 'supported' in repo2docker? :) |
Awesome! Nicely done everybody! I think we should call it "officially" supported but with a "this has not been totally vetted yet" caveat ;-) I guess if we're still in beta technically that's kinda assumed |
Thanks everyone, this is great. |
Awesome! I'm going to close this one then! Tyvm everyone! |
FYI we've now got examples of this here: https://github.com/binder-examples/julia_python |
Cool, did the reason for the hack of needing to copy the conda folder get resolved somewhere? |
FYI we've now got examples of this here: https://github.com/
binder-examples/julia_python
this is great! We have two serious coding examples at:
https://github.com/dkeitley/Map-Formation-Models
with models in python and julia. @dkeitley used two branches of the
repos so that we could have binder running -- but it looks like now we
can put them into the same binder?
Stephen
|
@sje30 yeah, the 'julia' branch there seems to work for me. You can remove the 'conda' folder in there too |
as a neuroscientist, just wanna say that repo is super cool :-) |
hi Chris,
I've got another notebook in progress...
https://github.com/sje30/cnw/blob/master/Introduction%20to%20Computational%20Neuroscience.ipynb
I've got it working on juliabox.com, but the user needs to manually do
`Pkg.add("OrdinaryDiffEq")` in the console.
I'd like to try in on mybinder... how do I solve the package dependency
in Julia on binder?
…On Mon, Oct 23 2017, Chris Holdgraf wrote:
as a neuroscientist, just wanna say that repo is super cool :-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.*
|
I believe you can make a REQUIRE file which lists the dependencies (one per
line).
On Tue, Nov 14, 2017 at 6:11 PM, Stephen Eglen <[email protected]>
wrote:
… hi Chris,
I've got another notebook in progress...
https://github.com/sje30/cnw/blob/master/Introduction%20to%
20Computational%20Neuroscience.ipynb
I've got it working on juliabox.com, but the user needs to manually do
`Pkg.add("OrdinaryDiffEq")` in the console.
I'd like to try in on mybinder... how do I solve the package dependency
in Julia on binder?
On Mon, Oct 23 2017, Chris Holdgraf wrote:
> as a neuroscientist, just wanna say that repo is super cool :-)
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub, or mute the thread.*
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AALtTsVLca2bkrptOGj38IS5ydMBI0Tdks5s2iw_gaJpZM4Nulja>
.
--
Dr. David P. Sanders
Profesor Titular "B" / Associate Professor
Departamento de Física, Facultad de Ciencias
Universidad Nacional Autónoma de México (UNAM)
dpsanders@g <[email protected]>mail.com / Twitter: @davidpsanders
<https://twitter.com/DavidPSanders>
http://sistemas.fciencias.unam.mx/~dsanders / GitHub: dpsanders
<https://github.com/dpsanders>
Cubículo / office: #414, 4o. piso del Depto. de Física
Tel.: (+52 55) 5622 4965
|
Where is the julia 0.6 kernel? Just added a REQUIRE, but not finding julia 0.6 on http://beta.mybinder.org (which now redirects) |
Thanks @dpsanders -- all working now! http://sje30.github.io/post/neuro-binder/ |
Not sure where this issue should go, but the IJulia demo notebook is broken, specifically the Interactive plotting section: cannot assign a value to variable Base.sleep from module Main
Stacktrace:
[1] top-level scope
@ In[16]:2
[2] eval
@ ./boot.jl:373 [inlined]
[3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
@ Base ./loading.jl:1196
|
Dear @ems0029, Thanks for the message. I can't reproduce the error when I follow the next steps:
The Interactive plotting section work as expected. Because your issue is directly related to https://github.com/binder-examples/demo-julia, please open an issue there. |
Lowercase the autogenerated name from the repo
We should support dependencies for Julia.
Major to-do items
REQUIRE
fileJulia handles dependencies in a text file similar to how Python does this.
Thoughts on that? @yuvipanda
The text was updated successfully, but these errors were encountered: