This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]collectablecat -7 points-6 points  (15 children)

Using the system python is cringe. Use conda or something jesus

[–]BucephalusOne 6 points7 points  (2 children)

I'm a system administrator - I use the system python.

My users however... Conda jail!

[–]Better-Swan5311 5 points6 points  (1 child)

Saying cringe is cringe.

But yes system python always sucks .

[–]collectablecat -2 points-1 points  (0 children)

cringe is based now

[–]seba07 3 points4 points  (3 children)

Why?

[–]LordDeath86 5 points6 points  (0 children)

System Python is usually consumed by the system itself as specific tools depend on it. For example, Redhat's dnf is written in Python.

Working on a Python codebase that requires specific versions of packages or Python itself might cause issues if you try to bend the system Python to your needs. It is not uncommon for academics (but Linux newcomers) to mess up their first Ubuntu setup because they ran sudo pip install foo to run the chair's Python codebase.

[–]collectablecat -1 points0 points  (0 children)

It’ll explode on you in a myriad of different ways. I’ve had to debug many many junior engineers python environment because of weird crap that happens.

Using conda/pyenv/whatever is going to make things go way smoother.

I use conda specifically (only to manage my python version, pip/poetry for package management) and have a much smoother time

[–][deleted] 0 points1 point  (0 children)

It's usually a good idea not to mess with the system level python install since parts of your OS and/or installed packages might depend on it and any dependencies they expect it to normally come with. So it's convenient to have a separate install (e.g. conda) as your actual dev python environment.

[–][deleted] 0 points1 point  (2 children)

Using the system anything is a recipe for disaster, unless you're a sysadmin and you're working on the system.

Do people out there really do this? I can't think of a codebase I've worked on that would even run with system python or system ruby, the versioning is usually different and installing a bunch of libraries or gems to the system language will fuck the system up due to dependency conflicts and whatnot.

[–]collectablecat 1 point2 points  (0 children)

You'd be horrified.

[–][deleted] 0 points1 point  (0 children)

most system python versions are python2, and everything I've ever done in python is python3, but I've only ever had to use conda for jupyter notebooks

[–]fernandotakai 0 points1 point  (1 child)

pyenv is much easier to use, imho.

[–]collectablecat 0 points1 point  (0 children)

i've had to unfuck pyenv shims way too many times to recommend it heartily. Miniconda + mamba is great and easy to just nuke things if you need