SciML / SciMLTutorials.jl

Tutorials for doing scientific machine learning (SciML) and high-performance differential equation solving with open source software.
https://tutorials.sciml.ai
Other
713 stars 127 forks source link

Unable to weave tutorials #536

Closed AlexanderSimWS closed 1 year ago

AlexanderSimWS commented 1 year ago

I'm able to add the package but I get this problem when I run "SciMLTutorials.open_notebooks()":

ERROR: IOError: readdir("DiffEqUncertainty"): no such file or directory (ENOENT) Stacktrace: [1] uv_error @ ./libuv.jl:97 [inlined] [2] readdir(dir::String; join::Bool, sort::Bool) @ Base.Filesystem ./file.jl:865 [3] readdir @ ./file.jl:858 [inlined] [4] weave_folder(folder::String, build_list::Tuple{Symbol}) @ SciMLTutorials ~/.julia/packages/SciMLTutorials/97ktD/src/SciMLTutorials.jl:69 [5] weave_all(build_list::Tuple{Symbol}) @ SciMLTutorials ~/.julia/packages/SciMLTutorials/97ktD/src/SciMLTutorials.jl:64 [6] open_notebooks() @ SciMLTutorials ~/.julia/packages/SciMLTutorials/97ktD/src/SciMLTutorials.jl:131 [7] top-level scope @ REPL[3]:1

How do I fix this?

fernikalo commented 1 year ago

Hi, I have same problems even trying to open the Jupiter notebooks using the following commands:

using Pkg pkg"add https://github.com/SciML/SciMLTutorials.jl" using SciMLTutorials SciMLTutorials.open_notebooks()

with following error message:

julia> SciMLTutorials.open_notebooks() ERROR: IOError: readdir("DiffEqUncertainty"): no such file or directory (ENOENT) Stacktrace: [1] uv_error @ ./libuv.jl:97 [inlined] [2] readdir(dir::String; join::Bool, sort::Bool) @ Base.Filesystem ./file.jl:865 [3] readdir @ ./file.jl:858 [inlined] [4] weave_folder(folder::String, build_list::Tuple{Symbol}) @ SciMLTutorials ~/.julia/packages/SciMLTutorials/97ktD/src/SciMLTutorials.jl:69 [5] weave_all(build_list::Tuple{Symbol}) @ SciMLTutorials ~/.julia/packages/SciMLTutorials/97ktD/src/SciMLTutorials.jl:64 [6] open_notebooks() @ SciMLTutorials ~/.julia/packages/SciMLTutorials/97ktD/src/SciMLTutorials.jl:131 [7] top-level scope @ REPL[4]:1

doswellf commented 1 year ago

Hi All,

To start with I cloned the SciMLTutorials.jl repository with: git clone --recursive --depth=1 https://github.com/SciML/SciMLTutorials.jl

Then changed directory to the top level of the SciMLTutorials.jl directory and followed the instructions at the top of the web page https://tutorials.sciml.ai/stable/

At first I used the instructions from the top of the tutorials web page to get started. Using either of Julia 1.6.3 or Julia 1.8.x did not work. The first version is too old, the second version is too new. Using Julia version 1.7.3 was the silver bullet.

My experience is that the success of your weaves depends on the correct Julia version. When I use Julia 1.7.3 and follow the instructions on

https://tutorials.sciml.ai/stable/

then things work fine. I can weave markdown, notebooks and pdf files too.

To get julia 1.7.3 Install juliaup and then install 1.7.3 using juliaup.

Then the instructions for Contributing at the bottom also work if I do not enter the second line cd(joinpath(dirname(pathof(SciMLTutorials)), ".."))

The instructions for contributing may work under 1.7.3 with the cd(joinpath...) statement, but I haven't re-tried that yet.

You can weave all the other examples too. To weave pdf files you must install xetex/xelatex, the replacement for pdflatex. To weave notebooks of all files in a folder:

SciMLTutorials.weave_folder("tutorials/advanced", [:pdf]) or SciMLTutorials.weave_folder("tutorials/advanced", [:notebok]) or SciMLTutorials.weave_folder("tutorials/advanced", [:markdown])

To weave one file in a folder:

SciMLTutorials.weave_file("tutorials/advanced", "01-beeler_reuter.jmd",[:pdf]) or SciMLTutorials.weave_file("tutorials/advanced", "01-beeler_reuter.jmd",[:notebook]) or SciMLTutorials.weave_file("tutorials/advanced", "01-beeler_reuter.jmd",[:markdown])

To start the notebooks you can get out of Julia, change to the notebooks/DiffEqUncertainty directory. Copy any *.ipynb files to SciMLTutorials.jl/tutorials/DiffEqUncertainty.

Then change directory to SciMLTutorials.jl/tutorials/DiffEqUncertainty.

Assuming you've installed IJulia you can use jupyter-notebook or jupyter-lab from the tutorials/DiffEqUncertainty directory.

jupyter-lab for local access only

or

jupyter-lab --ip=<your ip address> --port=7777

if you want access to your jupyter session on other computers on your network.

ChrisRackauckas commented 1 year ago

I fixed it up to be a lot more automated. See the new directions in https://github.com/SciML/SciMLTutorials.jl#interactive-notebooks . They should be added to the doc websites shortly.

doswellf commented 1 year ago

Thanks!

Will try this out with Julia 1.6.3, 1.7.3 and 1.8.2. When experimenting, I found that using docker or linux containers to completely isolate the versions prevented brain fog.

On 2022-10-17 03:23, Christopher Rackauckas wrote:

I fixed it up to be a lot more automated. See the new directions in https://github.com/SciML/SciMLTutorials.jl#interactive-notebooks . They should be added to the doc websites shortly.

— Reply to this email directly, view it on GitHub https://github.com/SciML/SciMLTutorials.jl/issues/536#issuecomment-1280404370, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABXOUN7RP5TSM5EGMJCIJITWDT5FRANCNFSM6AAAAAAQ7VJV6U. You are receiving this because you commented.Message ID: @.***>