“It’s not exactly the same as Linux” is not a valid complaint for me, in case that’s the root cause of concern. Yes it’s not, and never tried to be. If “near full” isolation is the goal, Docker-style containers are always an option. Then it’s basically the same as Linux.
Also, Python is notoriously finicky with the slight differences between versions. I mostly use the JVM nowadays and that’s a breeze to run any version on the same macOS using a tool like jenv (which is available for Linux, macOS, etc). I believe Python has some of those tools also to make isolated “environments”.
PS In terms of block ads: I literally just “solved this”. I used to run the likes of AdGuard which works decently but I never felt too good about it because it’s a bit opaque about how it actually works. Here’s how you can get your own DNS-based adblock on Mac for free, in just a few minutes:
1. Install dnsmasq https://en.wikipedia.org/wiki/Dnsmasq
2. Get a dnsmasq-compatible .conf blocklist from https://github.com/hagezi/dns-blocklists
Sample dnsmasq config:
listen-address=127.0.0.1
conf-file=/path/to/chosen_blocklist.conf
#google dns or pick your own
server=8.8.8.8
server=8.8.4.4
3. In your Network settings, set the DNS to 127.0.0.1 This will pass all DNS requests through dnsmasq first
4. Enjoy system-wide (including native apps!) ad-free experience