Installation Instructions
Installing CalibrateEmulateSample.jl
Currently CalibrateEmulateSample (CES) depends on some external python dependencies
We have verified that the configurations work:
- For Python
3.13:scipy=1.17.0,scikit-learn=1.8.0[current-default] - For Python
3.11 - 3.12:scipy=1.14.1,scikit-learn=1.5.1. - For Python
3.8 - 3.11:scipy=1.8.1,scikit-learn=1.1.1.
Please create an issue if you have had success with more up-to-date versions, and we can update this page!
Currently, one must set conda_pyimport version for SciKitLearn.jl in src/GaussianProcess.jl. To override the current default, one should update their python/scipy/sklearn versions and additionally call
ENV["SKLEARN_JL_VERSION"]="X.Y.Z"before running the script.
julia --project
> ]
> add CalibrateEmulateSampleOne may instead clone the project into a new local repository (using SSH or https link from github), to easily access the CES codebase (e.g. to run our example suite) .
If you do not have the dependencies installed, we have found it is easiest to install them via Julia's "Conda.jl",
julia --project
> ]
> add Conda
> add CalibrateEmulateSampleThen install the dependencies by having the project use its own Conda environment variable (set by exporting the ENV variable PYTHON="").
> PYTHON="" julia --project -e 'using Pkg; Pkg.instantiate()'This call should build Conda and Pycall. The scikit-learn package (along with scipy) then has to be installed if using a Julia project-specific Conda environment:
> PYTHON="" julia --project -e 'using Conda; Conda.add("scipy=1.17.0", channel="conda-forge")'
> PYTHON="" julia --project -e 'using Conda; Conda.add("scikit-learn=1.8.0")'
Sometimes Conda.jl builds the python packages, in julia-based python repo but Pycall resorts to a different python path (This for example happens if you update the python version with Conda.jl). This throws an error like:
ERROR: InitError: PyError (PyImport_ImportModule
The Python package sklearn.gaussian_process.kernels could not be imported by pyimport.In this case, simply call julia --project followed by
julia> using Pkg
julia> ENV["PYTHON"]=""
julia> Pkg.build("PyCall")
julia> exit()to reset unify the paths.
See the PyCall.jl documentation for more information about how to configure the local Julia / Conda / Python environment.
To test that the package is working:
> julia --project -e 'using Pkg; Pkg.test()'Building the documentation locally
You need to first build the top-level project before building the documentation:
cd CalibrateEmulateSample.jl
julia --project -e 'using Pkg; Pkg.instantiate()'Then you can build the project documentation under the docs/ sub-project:
julia --project=docs/ -e 'using Pkg; Pkg.instantiate()'
julia --project=docs/ docs/make.jlThe locally rendered HTML documentation can be viewed at docs/build/index.html. Occasional figures may only be viewable in the online documentation due to the fancy-url package.