Skip to content

Commit 9c89867

Browse files
author
Christopher Doris
committed
clarify env vars configuration
1 parent 8e7797a commit 9c89867

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

docs/src/pythoncall.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -234,35 +234,39 @@ By default, PythonCall uses [CondaPkg.jl](https://github.com/cjdoris/CondaPkg.jl
234234
its dependencies. This will install Conda and use it to create a Conda environment specific
235235
to your current Julia project containing Python and any required Python packages.
236236

237-
#### If you already have Conda, Mamba or MicroMamba
237+
#### If you already have Python and required Python packages installed
238238

239239
```julia
240-
ENV["JULIA_CONDAPKG_BACKEND"] = "System"
241-
ENV["JULIA_CONDAPKG_EXE"] = "/path/to/conda" # optional
240+
ENV["JULIA_CONDAPKG_BACKEND"] = "Null"
241+
ENV["JULIA_PYTHONCALL_EXE"] = "/path/to/python" # optional
242+
ENV["JULIA_PYTHONCALL_EXE"] = "@PyCall" # optional
242243
```
243244

244-
The System backend to CondaPkg will use your preinstalled Conda implementation instead of
245-
downloading one.
245+
By setting the CondaPkg backend to Null, it will never install any Conda packages. In this
246+
case, PythonCall will use whichever Python is currently installed and in your `PATH`. You
247+
must have already installed any Python packages that you need.
246248

247-
If `conda`, `mamba` or `micromamba` is not in your `PATH` you will also need to set
248-
`JULIA_CONDAPKG_EXE` to its path.
249+
If `python` is not in your `PATH`, you will also need to set `JULIA_PYTHONCALL_EXE` to its
250+
path.
249251

250-
#### If you don't want to use Conda
252+
If you also use PyCall, you can set `JULIA_PYTHONCALL_EXE=@PyCall` to use the same Python
253+
interpreter.
254+
255+
#### If you already have Conda, Mamba or MicroMamba
251256

252257
```julia
253-
ENV["JULIA_PYTHONCALL_EXE"] = "/path/to/python"
254-
ENV["JULIA_PYTHONCALL_EXE"] = "@PyCall" # optional
255-
ENV["JULIA_CONDAPKG_BACKEND"] = "Null" # optional
258+
ENV["JULIA_CONDAPKG_BACKEND"] = "System"
259+
ENV["JULIA_CONDAPKG_EXE"] = "/path/to/conda" # optional
256260
```
257261

258-
You will need to install Python and any Python packages required yourself, and ensure that
259-
they are at compatible versions.
262+
The System backend to CondaPkg will use your preinstalled Conda implementation instead of
263+
downloading one.
260264

261-
If you also use PyCall, you can set `JULIA_PYTHONCALL_EXE=@PyCall` to use the same Python
262-
interpreter.
265+
Note that this will still create a new Conda environment and install any required packages
266+
into it. If you want to use a pre-existing Conda environment, see the previous section.
263267

264-
You may also set `JULIA_CONDAPKG_BACKEND=Null` to completely disable CondaPkg. This should
265-
not be necessary because PythonCall will not use CondaPkg if the above settings are used.
268+
If `conda`, `mamba` or `micromamba` is not in your `PATH` you will also need to set
269+
`JULIA_CONDAPKG_EXE` to its path.
266270

267271
## [Installing Python packages](@id python-deps)
268272

0 commit comments

Comments
 (0)