Ubuntu seems like it has the best compatibility, but any other suggestions for data wrangling, data analysis, data visualization, and machine learning in Julia, Python and R?
Any distro you are comfortable with.
Which is the correct answer to 99% of questions that start with “Which distro…”
I do scientific computing and I’ve used Ubuntu, Debian, Fedora, Arch, and NixOS for work.
Any and all of these can do what you need. Hell, you could probably throw your whole development environment into a docker container and use it anywhere. Pick one and go with it.
That said, here are my preferences:
Right now, I really like NixOS and Nix for development environments, but it’s a lot to learn, so I wouldn’t recommend it unless you were really excited to try it.
Before NixOS, I used Arch on my laptop, and it was soooo nice to be able to build my own desktop environment just the way I wanted it from the ground up, which is possible on any distribution, but the Arch documentation makes this much more approachable. If you are happy with KDE Plasma or Gnome, and you’re using well-supported hardware, then I wouldn’t say Arch is really worth the time (unless you’re excited to play with it).
Fedora and Nobara (a Fedora-based distribution with a lot of gaming-focused presets) have been a breath of fresh air coming off the heels of painstakingly setting up Arch and then NixOS. Fedora is pretty nice out of the box and Nobara has been the best experience of going from zero to gaming even when compared to Windows.
Debian (especially Debian 12) has been fantastic for servers and for machines that don’t need to use the newest hardware. It’s still my go-to for lots of things.
Ubuntu is fine, but Canonical, the company that makes it, has made some unfortunate choices lately, and with Debian 12 being as good as it is, I don’t think I’ll ever have a reason to go back.
Side note: One thing to look out for in the near future is System76’s COSMIC desktop environment, which seems to be doing a lot of things right. There is already active development to get it working on NixOS, and I’m sure it will be available on Pop!OS from the start. I would also bet that it would be ready to go on Arch not long after. It will likely eventually be easy to install on all distributions, but if you want to try that out as soon as it’s ready, one of those three would be a good option.
That’s awesome! I hadn’t heard about COSMIC DE.
Well put. The one thing I would add is using the Nix package manager on a distro other than NixOS! I’m daily driving Fedora 39 + Nix (home-manager) with zero problems. My pick would either be Fedora or Debian.
Tons of good documentation either way. Flatpak the packages you, no kidding, need to be easy / consistent to debug. Non-root podman for containers. Nix for more up to date packages than are available in the native repos (especially useful with Debian) + the other benefits like nix-shell.
Did you know you can use distrobox and use any distros package manager? There’s no such thing as “distro x” has the most packages or is supported the best.
Use any distro you want. Atomic distros are the latest thing. Fedora silverblue or opensuse aeon
Just use any distro you like and install the packages you need. Done.
This is going to be unpopular, but you can easily compile both Python and R and configure them to your liking. For Python you can even use Anaconda3 and forget about installing most packages by yourself.
As for Julia, I usually just install the precompiled binary package.
So, any distribution you feel comfortable with will do.
For data science, it depends on what GPU you plan to use. If it’s an Nvidia brand GPU, go with Ubuntu or Fedora. I say from personal experience that it is easier to get Nvidia drivers working on Ubuntu or Fedora than on most other distros I have tried. If it is a Radeon GPU, it will work fine on pretty much any distro at all since Radeon does a good job following Linux standard APIs for graphics card drivers, so for Radeon products I would also recommend Debian or Mint (along side Fedora and Ubuntu).
I recently installed R on my Arch desktop to play with. Any Linux distro could work well if you install the right things, the distro mostly influences how they get installed afaik.
Bottles and docker could be helpful depending on software supports and your needs.
Learn docker on the distro you’re most comfortable with.
We use EL (Specifically Rocky, a rebuild of Redhat) for this, but I strongly suspect that any of the main distros will be absolutely fine provided they have modern enough versions of the software you need.
Debian got me through grad school.
Not the latest and greatest (if you run stable), but if you need the latest e.g. Julia, it’s not too bad to compile it.
Stick to ubuntu or red hat alts. They are whats gonna be in any cloud or HPC cluster.
Have you considered something like jupyterhub?
Use anything you want. All distros should support those packages, use what you’re the most comfortable with.
I personally would recommend Fedora Silverblue/ it’s other atomic variants or uBlue especially.
It’s pretty much unbreakable, modern and supports ALL distros’ package managers through Distrobox. It’s also pretty simple in my opinion, since you pretty much don’t have to worry about traditional package management.I think you’re searching something reliable and simple, so this would be a solid choice.
Mint would be great too
R-ch (pronounced Arch btw)
I would say Nix but I presume you are a beginner so perhaps stick with Pop OS, Mint or Ubuntu.
I’ve been running Linux since the 90s and use popos. Nothing “beginner” about it.
It is beginner friendly, that was my point. At the end of the day it is Linux and you can do everything you can do on a normal Linux too.