As others have said [uv] (https://github.com/astral-sh/uv) is likely a good option but since you’ve mentioned being a data scientist you might also check out [pixi] (https://prefix.dev/tools/pixi).
It’s built on top of conda so will likely have all the packages you might need.
It’s got quite a nice workflow, keeps things contained in the project directory, and adds a few conveniences over standard conda.




They get moved to the init process (parent 1) if their original parent dies. The init process should always wait on its child processes so they’ll get cleaned up then. No reboot needed.
Once they’re zombies all they really exist for is to return an exit code for their parent - they’re no longer running.