# Pkg.add("PyPlot" or Pkg.build("PyCall") not working

**URL:** <https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800>\
**Category:** New to Julia\
**Created:** [June 11, 2025, 10:42am UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800 "2025-06-11T10:42:11Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 10:42am UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/1 "2025-06-11T10:42:11Z")

</div>

I have tried Pkg.add(“PyPlot”) or Pkg.build(“PyCall”) and both are not working and producing errors.

Does anyone know how I can fix this to run my script?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [June 11, 2025, 10:49am UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/2 "2025-06-11T10:49:23Z")

</div>

What is the output of:

```julia
versioninfo()

```

---

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 12:03pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/3 "2025-06-11T12:03:52Z")

</div>

version of Julia is v1.11.5

---

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 12:08pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/4 "2025-06-11T12:08:56Z")

</div>

![image](https://global.discourse-cdn.com/julialang/original/3X/0/9/099aa7482b3296dc09036ed4274bb07404bf0929.jpeg)

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [June 11, 2025, 12:13pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/5 "2025-06-11T12:13:47Z")

</div>

Can you please copy and paste the output of `versioninfo()`? It contains more useful information than the Julia version number.

Screenshots are not a good way to share information in this forum. Also if you share error messages, please copy and paste the complete error message as text and put it into your message enclosed in triple backticks, like ```.

And please also share the complete error message.

And did you try:

```julia
using Pkg
ENV["PYTHON"]=""
Pkg.build("PyCall")

```

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [June 11, 2025, 2:05pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/6 "2025-06-11T14:05:37Z")

</div>

> [@ufechner7](#):
>
> And did you try:

(If you are building PyCall, you need to do that _before_ `using PyCall` in the Julia session.)

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [June 11, 2025, 3:04pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/7 "2025-06-11T15:04:17Z")

</div>

Since this is in the “New to Julia” category, I wanted to mention there is another package to interface between Python and Julia:

> **[Home · PythonCall & JuliaCall](https://juliapy.github.io/PythonCall.jl/stable/)**
>
> Documentation for PythonCall & JuliaCall.

---

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 5:51pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/8 "2025-06-11T17:51:23Z")

</div>

Please see the error I am getting:

julia\> Pkg.add(“PyCall”)  
Updating registry at `C:\Users\vakaorongana kazenan\.julia\registries\General.toml`  
Resolving package versions…  
Updating `C:\Users\vakaorongana kazenan\.julia\environments\v1.11\Project.toml`  
[438e738f] + PyCall v1.96.4  
No Changes to `C:\Users\vakaorongana kazenan\.julia\environments\v1.11\Manifest.toml`  
Precompiling project…  
✗ PyCall  
✗ PyPlot  
0 dependencies successfully precompiled in 31 seconds. 478 already precompiled.  
2 dependencies errored.  
For a report of the errors see `julia> err`. To retry use `pkg> precompile`

julia\> Pkg.add(“PyPlot”)  
Resolving package versions…  
No Changes to `C:\Users\vakaorongana kazenan\.julia\environments\v1.11\Project.toml`  
No Changes to `C:\Users\vakaorongana kazenan\.julia\environments\v1.11\Manifest.toml`  
Precompiling project…  
✗ PyCall  
✗ PyPlot  
0 dependencies successfully precompiled in 30 seconds. 478 already precompiled.  
2 dependencies errored.  
For a report of the errors see `julia> err`. To retry use `pkg> precompile`

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [June 11, 2025, 6:00pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/9 "2025-06-11T18:00:43Z")

</div>

Well, the error message tells you to type `err` on the Julia prompt. You did not do that.

Furthermore, we suggested that you do:

```julia
using Pkg
ENV["PYTHON"]=""
Pkg.build("PyCall")

```

BEFORE using PyCall.

You did not do that.

Please try to do that and post the output.

---

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 6:08pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/10 "2025-06-11T18:08:47Z")

</div>

julia\> err  
1-element ExceptionStack:  
Error building `PyCall`:  
┌ Info: Using the Python distribution in the Conda package by default.  
└ To use a different Python version, set ENV[“PYTHON”]=“pythoncommand” and re-run Pkg.build(“PyCall”).  
ERROR: LoadError: Conda.jl cannot be installed to its default location C:\Users\vakaorongana kazenan.julia\conda\3\x86\_64  
as Miniconda does not support the installation to a directory with a space or a  
non-ASCII character on Windows. The work-around is to install Miniconda to a  
user-writable directory by setting the CONDA\_JL\_HOME environment variable. For  
example on Windows:

ENV[“CONDA\_JL\_HOME”] = raw"C:\Conda-Julia\3"  
using Pkg  
Pkg.build(“Conda”)

The Julia session need to be restarted. More information is available at  
[GitHub - JuliaPy/Conda.jl: Conda managing Julia binary dependencies](https://github.com/JuliaPy/Conda.jl).

Stacktrace:  
[1] error(s::String)  
@ Base .\error.jl:35  
[2] \_install\_conda(env::String, force::Bool)  
@ Conda C:\Users\vakaorongana kazenan.julia\packages\Conda\zReqD\src\Conda.jl:274  
[3] \_install\_conda(env::String)  
@ Conda C:\Users\vakaorongana kazenan.julia\packages\Conda\zReqD\src\Conda.jl:270  
[4] runconda(args::Cmd, env::String)  
@ Conda C:\Users\vakaorongana kazenan.julia\packages\Conda\zReqD\src\Conda.jl:180  
[5] add(pkg::String, env::String; channel::String, satisfied\_skip\_solve::Bool, args::Cmd)  
@ Conda C:\Users\vakaorongana kazenan.julia\packages\Conda\zReqD\src\Conda.jl:343  
[6] add  
@ C:\Users\vakaorongana kazenan.julia\packages\Conda\zReqD\src\Conda.jl:326 [inlined]  
[7] top-level scope  
@ C:\Users\vakaorongana kazenan.julia\packages\PyCall\1gn3u\deps\build.jl:79  
[8] include(fname::String)  
@ Main .\sysimg.jl:38  
[9] top-level scope  
@ none:5  
in expression starting at C:\Users\vakaorongana kazenan.julia\packages\PyCall\1gn3u\deps\build.jl:43  
Stacktrace:  
[1] pkgerror(msg::String)  
@ Pkg.Types C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Types.jl:68  
[2] (::Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String})()  
@ Pkg.Operations C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1195  
[3] withenv(::Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, ::Pair{String, String}, ::Vararg{Pair{String}})  
@ Base .\env.jl:265  
[4] (::Pkg.Operations.var"#118#123"{String, Pkg.Types.EnvCache, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec})()  
@ Pkg.Operations C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1935  
[5] with\_temp\_env(fn::Pkg.Operations.var"#118#123"{String, Pkg.Types.EnvCache, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec}, temp\_env::String)  
@ Pkg.Operations C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1793  
[6] (::Pkg.Operations.var"#116#121"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, String})(tmp::String)  
@ Pkg.Operations C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1902  
[7] mktempdir(fn::Pkg.Operations.var"#116#121"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, String}, parent::String; prefix::String)  
@ Base.Filesystem .\file.jl:819  
[8] mktempdir(fn::Function, parent::String)  
@ Base.Filesystem .\file.jl:815  
[9] mktempdir  
@ .\file.jl:815 [inlined]  
[10] #sandbox#115  
@ C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1849 [inlined]  
[11] build\_versions(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}; verbose::Bool)  
@ Pkg.Operations C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1176  
[12] build\_versions  
@ C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1094 [inlined]  
[13] build(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}, verbose::Bool)  
@ Pkg.Operations C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\Operations.jl:1034  
[14] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; verbose::Bool, kwargs::@Kwargs{io::IOContext{IO}})  
@ Pkg.API C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\API.jl:1110  
[15] build(pkgs::Vector{Pkg.Types.PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{})  
@ Pkg.API C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\API.jl:159  
[16] build(pkgs::Vector{Pkg.Types.PackageSpec})  
@ Pkg.API C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\API.jl:148  
[17] build  
@ C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\API.jl:147 [inlined]  
[18] build(pkg::String)  
@ Pkg.API C:\Users\vakaorongana kazenan\AppData\Local\Programs\Julia-1.11.5\share\julia\stdlib\v1.11\Pkg\src\API.jl:146  
[19] top-level scope  
@ REPL[13]:1

---

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 6:11pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/11 "2025-06-11T18:11:23Z")

</div>

Building Conda ─→ `C:\Users\vakaorongana kazenan\.julia\scratchspaces\44cfe95a-1eb2-52ea-b672-e2afdf69b78f\b19db3927f0db4151cb86d073689f2428e524576\build.log`  
Building PyCall → `C:\Users\vakaorongana kazenan\.julia\scratchspaces\44cfe95a-1eb2-52ea-b672-e2afdf69b78f\9816a3826b0ebf49ab4926e2b18842ad8b5c8f04\build.log`  
Error building `PyCall`:  
┌ Info: Using the Python distribution in the Conda package by default.  
└ To use a different Python version, set ENV[“PYTHON”]=“pythoncommand” and re-run Pkg.build(“PyCall”).  
ERROR: LoadError: Conda.jl cannot be installed to its default location C:\Users\vakaorongana kazenan.julia\conda\3\x86\_64  
as Miniconda does not support the installation to a directory with a space or a  
non-ASCII character on Windows. The work-around is to install Miniconda to a  
user-writable directory by setting the CONDA\_JL\_HOME environment variable. For  
example on Windows:

ENV[“CONDA\_JL\_HOME”] = raw"C:\Conda-Julia\3"  
using Pkg  
Pkg.build(“Conda”)

The Julia session need to be restarted. More information is available at  
[GitHub - JuliaPy/Conda.jl: Conda managing Julia binary dependencies](https://github.com/JuliaPy/Conda.jl).

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [June 11, 2025, 6:49pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/12 "2025-06-11T18:49:39Z")

</div>

> [@Smara\_Kazenango](#):
>
> ERROR: LoadError: [Conda.jl](https://juliaregistries.github.io/General/packages/redirect_to_repo/Conda) cannot be installed to its default location C:\Users\vakaorongana kazenan.julia\conda\3\x86\_64  
> as Miniconda does not support the installation to a directory with a space or a  
> non-ASCII character on Windows.

I think the error message is clear. Your home directory contains a space character, which is not supported. There is a workaround for this problem, let me search for it.

**Step-by-Step Solution**

1. **Create a New Directory Without Spaces**  
For example, create `C:\Conda-Julia\3` or any path without spaces or special characters.

```bash
c:
cd \
mkdir Conda-Julia
cd Conda-Julia
mkdir 3

```

1. **Set the `CONDA_JL_HOME` Environment Variable**  
This tells Julia’s Conda.jl to install Miniconda in a directory without problematic characters.  
In your Julia REPL, run:

```julia
ENV["CONDA_JL_HOME"] = raw"C:\Conda-Julia\3"

```

1. **Rebuild Conda and PyCall**  
In Julia, run:

```julia
using Pkg
Pkg.add("Conda")
Pkg.build("Conda")
Pkg.add("PyCall")
Pkg.build("PyCall")

```

This will install Miniconda and configure PyCall to use it in the new location  
4. **Install PyPlot**  
Now, you can safely install PyPlot:

```julia
Pkg.add("PyPlot")

```

PyPlot should now install and build without issues related to the user directory name.

---

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 6:52pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/13 "2025-06-11T18:52:11Z")

</div>

Thank you,

---

<div class="post-metadata">

**Author:** ![Smara\_Kazenango](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smara_kazenango/32/130333_2.png) [@Smara\_Kazenango](https://discourse.julialang.org/u/Smara_Kazenango)\
**Post date:** [June 11, 2025, 7:18pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/14 "2025-06-11T19:18:06Z")

</div>

[Info: Precompiling PyPlot [d330b81b-6aea-500a-939a-2ce795aea3ee] (cache misses: wrong dep version loaded (2))  
ERROR: LoadError: InitError: Using Conda.jl python, but location of C:\Conda-Julia\3\python.exe seems to have moved to C:\Users\vakaorongana kazenan.julia\conda\3\x86\_64. Re-run Pkg.build(“PyCall”) and restart Julia.  
Stacktrace:  
[1] error(s::String)  
@ Base .\error.jl:35  
[2] **init** ()  
@ PyCall C:\Users\vakaorongana kazenan.julia\packages\PyCall\1gn3u\src\pyinit.jl:145  
[3] run\_module\_init(mod::Module, i::Int64)

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [June 11, 2025, 7:22pm UTC](https://discourse.julialang.org/t/pkg-add-pyplot-or-pkg-build-pycall-not-working/129800/15 "2025-06-11T19:22:04Z")

</div>

> [@Smara\_Kazenango](#):
>
> Re-run Pkg.build(“PyCall”) and restart Julia.

Did you try that?

I mean, usually the error messages give you very useful hints. In 80% of the cases just follow them and your problem is solved.

You could also restart Julia and then do:

```julia
ENV["CONDA_JL_HOME"] = raw"C:\Conda-Julia\3"
using Pkg
Pkg.build("PyCall")

```

Does that work?
