# Problem with installing PythonPlot, CondaPKG (FreeBSD)

**URL:** https://discourse.julialang.org/t/problem-with-installing-pythonplot-condapkg-freebsd/125195
**Category:** Visualization
**Tags:** pythonplot, condapkg
**Created:** [January 25, 2025, 2:58pm UTC](https://discourse.julialang.org/t/problem-with-installing-pythonplot-condapkg-freebsd/125195 "2025-01-25T14:58:37Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![ko56](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ko56/32/2684_2.png) [@ko56](https://discourse.julialang.org/u/ko56)
#### Post date: [January 25, 2025, 2:58pm UTC](https://discourse.julialang.org/t/problem-with-installing-pythonplot-condapkg-freebsd/125195/1 "2025-01-25T14:58:37Z")

</div>

I posted this question [micromamba](https://discourse.julialang.org/t/micromamba-is-not-currently-supported-on-your-platform-freebsd/124813/1) a while ago, but haven’t gotten any responses. Maybe the post was in the wrong place.  
I am reposting here, which seems more appropriate.  
Thanks for any help.

---

<div class="post-metadata">

### Author: ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)
#### Post date: [January 25, 2025, 8:32pm UTC](https://discourse.julialang.org/t/problem-with-installing-pythonplot-condapkg-freebsd/125195/2 "2025-01-25T20:32:41Z")

</div>

It seems to me clear that PythonPlot.jl isn’t supported for FreeBSD, at least with default use of PythonCall.jl.

Since it used CondaPkg.jl that uses micromamba, and [micro]mamba doesn’t support FreeBSD, that I can see, neither seemingly conda.

Pip is though supported for FreeBSD, so you can use matplotlib that way with PyPlot.jl, or you can I believe hack PythonCall.jl to access system installed Python, and then use Pip to install packages, maybe that works with PythonCal too?

Other options are any other non-python related plotting packages, as a backend for Plots.jl or not, e.g. Makie.jl

Julia supports FreeBSD (tier 2), and Python supports too (tier 3), but that only means the languages work together, not strictly guaranteeing that any package for either language works, or any specific package manager. Probably though all pure Python packages installed with pip, and some more, and any pure Julia (not depending on JLLs) Julia packages.

@cdoris Is there a better way to support FreeBSD? I think it’s out of your hands, unless you want to support more than micromamba.

Seemingly one workaround might be to add/enable the Linux compatibility layer to FreeBSD?

I.e. this workaround for miniconda, for `Linux Compatibility Layer, might also work for micromamba (since it’s a clone of conda):

> <https://github.com/conda/conda/issues/10450#issuecomment-812589409>
>
> Hi,
> 
> I recently migrated to FreeBSD and at the same time i am working concurre…ntly on a project in Python.
> 
> I have been using miniconda for a while on a macOS but i figured out that i cannot download miniconda on FReeBSD(at least there is no available package).
> 
> Is there a way to build from source(eg a Makefile or a script)?
> 
> There is always the option to use jails or just run a linux kernel module but to be on the safe sife i wanted to try to see if i can actually build miniconda.
> 
> Thanks

If that isn’t a solution, then seemingly all PythonCall/CondaPkg-related is in trouble on FreeBSD. You’re also likely making trouble for yourself even with Julia and JLL dependencies?

> <https://stackoverflow.com/questions/69968084/cannot-install-pycall-jl-with-julia-1-6-3-build-on-freebsd-13>

> <https://github.com/mamba-org/mamba/issues/1213>
>
> It's not 100% clear whether Mamba ecosystem (i.e. Micromamba, Quetz, etc) is rea…dy to support OSs beyond what's offered by Conda, e.g. FreeBSD would be a natural candidate. 
> 
> (This is more of a question than an issue).

[https://www.reddit.com/r/freebsd/comments/8pugsk/can\_freebsd\_be\_used\_for\_data\_analysis/](https://www.reddit.com/r/freebsd/comments/8pugsk/can_freebsd_be_used_for_data_analysis/)

> **[FreshPorts -- sysutils/linux-miniconda-installer: Aid for installing and...](https://www.freshports.org/sysutils/linux-miniconda-installer)**
>
> Conda, like pip and CRAN, is a popular system that allows non-root users to
> install many binary software packages in their own directories. The system
> includes a base "channel" (repository) as well as 3rd party community
> channels, such as...

[https://wiki.freebsd.org/Python](https://wiki.freebsd.org/Python)

---

<div class="post-metadata">

### Author: ![ko56](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ko56/32/2684_2.png) [@ko56](https://discourse.julialang.org/u/ko56)
#### Post date: [January 26, 2025, 4:03pm UTC](https://discourse.julialang.org/t/problem-with-installing-pythonplot-condapkg-freebsd/125195/3 "2025-01-26T16:03:18Z")

</div>

It seems to me clear that PythonPlot.jl isn’t supported for FreeBSD, at least with default use of PythonCall.jl.

Since it used CondaPkg.jl that uses micromamba, and [micro]mamba doesn’t support FreeBSD, that I can see, neither seemingly conda.

_Thanks for the detailed reply. After reading [https://github.com/mamba-org/mamba/issues/1213](https://github.com/mamba-org/mamba/issues/1213) that you include below, I suspect that the reason micromamba “isn’t supported on FreeBSD” is something relatively trivial. However, I don’t have the time to dig it out._

Pip is though supported for FreeBSD, so you can use matplotlib that way with PyPlot.jl, or you can I believe hack PythonCall.jl to access system installed Python, and then use Pip to install packages, maybe that works with PythonCal too?

_I do have matplotlib installed, and it works fine from Python (both system packages, nothing to do with Julia). I don’t understand what the whole Conda/Mamba issue is about. Do additional Python packages need to be installed for PythonPlot/matplotlib to work?  
(I write more below, but my preferred solution for this is to somehow disable Conda and micromamba entirely, and install any extra Python packages, if needed, in my system’s Python installation.)_

Other options are any other non-python related plotting packages, as a backend for Plots.jl or not, e.g. Makie.jl

_Makie is good, but I prefer sticking with Plots.jl, since I’ve been using it a long time and I know the syntax. (I also use Gaston.jl, which works immediately with my system GnuPlot.)_

Julia supports FreeBSD (tier 2), and Python supports too (tier 3), but that only means the languages work together, not strictly guaranteeing that any package for either language works, or any specific package manager. Probably though all pure Python packages installed with pip, and some more, and any pure Julia (not depending on JLLs) Julia packages.

_Yes, that is a messy situation. E.g., I’ve also used the GR backend for Plots.jl in the past. Older versions of GR.jl used to have a way to point to a system-installed version of GR. Not any more. Now trying to Pkg.add(“GR”) attempts to install specific versions of llvm libraries! I find this unacceptable._

@cdoris Is there a better way to support FreeBSD? I think it’s out of your hands, unless you want to support more than micromamba.

Seemingly one workaround might be to add/enable the Linux compatibility layer to FreeBSD?

_Certainly possible, but too heavyweight for something that is probably very simple._

I.e. this workaround for miniconda, for `Linux Compatibility Layer, might also work for micromamba (since it’s a clone of conda):

> <https://github.com/conda/conda/issues/10450#issuecomment-812589409>
>
> Hi,
> 
> I recently migrated to FreeBSD and at the same time i am working concurre…ntly on a project in Python.
> 
> I have been using miniconda for a while on a macOS but i figured out that i cannot download miniconda on FReeBSD(at least there is no available package).
> 
> Is there a way to build from source(eg a Makefile or a script)?
> 
> There is always the option to use jails or just run a linux kernel module but to be on the safe sife i wanted to try to see if i can actually build miniconda.
> 
> Thanks

If that isn’t a solution, then seemingly all PythonCall/CondaPkg-related is in trouble on FreeBSD. You’re also likely making trouble for yourself even with Julia and JLL dependencies?

_In the past (with v1.6.x, I believe) I’ve used PyPlot.jl with no problems. The error in the below post seems to be_

```julia
ERROR: LoadError: Couldn't find libpython; check your PYTHON environment variable.

```

> <https://stackoverflow.com/questions/69968084/cannot-install-pycall-jl-with-julia-1-6-3-build-on-freebsd-13>

---

<div class="post-metadata">

### Author: ![cjdoris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cjdoris/32/213133_2.png) [@cjdoris](https://discourse.julialang.org/u/cjdoris)
#### Post date: [January 26, 2025, 7:21pm UTC](https://discourse.julialang.org/t/problem-with-installing-pythonplot-condapkg-freebsd/125195/4 "2025-01-26T19:21:21Z")

</div>

AFAIU FreeBSD is not well supported in Conda-land. I think you can get Conda itself to work on FreeBSD but repos like conda-forge (used by default in CondaPkg) don’t routinely build for FreeBSD.

However if you create a venv yourself with matplotlib installed in it, you can get PythonCall to use it by setting [the `JULIA_PYTHONCALL_EXE` environment variable](https://juliapy.github.io/PythonCall.jl/stable/pythoncall/#If-you-already-have-Python-and-required-Python-packages-installed).

Edit: I’d like to add optional “python-only” backends to CondaPkg which completely avoid Conda and instead only install Python packages into a venv. But that will be a way off.

---

<div class="post-metadata">

### Author: ![ko56](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ko56/32/2684_2.png) [@ko56](https://discourse.julialang.org/u/ko56)
#### Post date: [January 28, 2025, 2:51am UTC](https://discourse.julialang.org/t/problem-with-installing-pythonplot-condapkg-freebsd/125195/5 "2025-01-28T02:51:02Z")

</div>

> [@cjdoris](#):
>
> AFAIU FreeBSD is not well supported in Conda-land. I think you can get Conda itself to work on FreeBSD but repos like conda-forge (used by default in CondaPkg) don’t routinely build for FreeBSD.

Yes, I discovered that.

> [@](#):
>
> However if you create a venv yourself with matplotlib installed in it, you can get PythonCall to use it by setting [the `JULIA_PYTHONCALL_EXE` environment variable](https://juliapy.github.io/PythonCall.jl/stable/pythoncall/#If-you-already-have-Python-and-required-Python-packages-installed).

Ah, thanks very much. That does exactly what I wanted, to circumvent Conda-land entirely. I didn’t even create a venv.
