@@ -58,43 +58,32 @@ What to read next:
58
58
59
59
## [ Managing Julia dependencies] (@id julia-deps)
60
60
61
- JuliaCall manages its Julia dependencies using [ Pkg] ( https://pkgdocs.julialang.org/v1 ) .
62
- If a suitable version of Julia is not found on your system, it will automatically be
63
- downloaded and installed into ` ~/.julia/pythoncall/julia-VERSION ` .
64
- A Julia environment is automatically created when JuliaCall is loaded, is activated, and is
65
- initialised with at least PythonCall. If you are using a virtual or conda environment then
66
- the Julia environment is created there, otherwise a global environment is created at
67
- ` ~/.julia/environments/PythonCall ` .
61
+ JuliaCall manages its Julia dependencies using [ JuliaPkg] ( https://github.com/cjdoris/PyJuliaPkg ) .
68
62
69
- If your project requires more Julia dependencies, use the mechanisms below to ensure they
70
- are automatically installed.
63
+ It will automatically download a suitable version of Julia if required.
71
64
72
- ### juliacalldeps.json
73
-
74
- If you put a file called ` juliacalldeps.json ` in a Python package, then the dependencies
75
- therein will be automatically installed into the Julia environment.
65
+ A Julia environment is also created, activated and populated with any required packages.
66
+ If you are in a virtual or Conda environment, the environment is put there. Otherwise a
67
+ global environment is used at ` ~/.julia/environments/pyjuliapkg ` .
76
68
69
+ If your project requires any Julia packages, or a particular version of Julia itself, then
70
+ create a file called ` juliapkg.json ` in your package. For example:
77
71
Here is an example:
78
72
``` json
79
73
{
80
74
"julia" : " 1.5" ,
81
75
"packages" : {
82
76
"Example" : {
83
77
"uuid" : " 7876af07-990d-54b4-ab0e-23690620f79a" ,
84
- "version" : " 0.5, 0.6" ,
85
- "url" : " http://github.com/JuliaLang/Example.jl" ,
86
- "path" : " /path/to/the/package" ,
87
- "rev" : " main" ,
88
- "dev" : false , // when true, uses Pkg.dev not Pkg.add
78
+ "version" : " 0.5, 0.6"
89
79
}
90
80
}
91
81
}
92
82
```
93
- All parts are optional, except that the UUID of each package is required. Typically you
94
- will just include the UUID and version fields.
95
83
96
- When JuliaCall starts, it will ensure the latest compatible version of Julia is installed,
97
- and will ensure the given packages are installed.
84
+ Alternatively you can use ` add ` , ` rm ` , etc. from JuliaPkg to edit this file.
85
+
86
+ See [ JuliaPkg] ( https://github.com/cjdoris/PyJuliaPkg ) for more details.
98
87
99
88
## Utilities
100
89
0 commit comments