DEV Community

Cover image for How I Manage Local Dev Environments for Go + Python Projects
Matty
Matty

Posted on

How I Manage Local Dev Environments for Go + Python Projects

Lately, I’ve been working on a hybrid project involving Go and Python. The code itself wasn’t too challenging—but the local development environment? A complete mess.
Version conflicts, services that refused to connect, forgetting to activate virtual environments… 😵I rebooted my machine three times before I even got the project running properly. That’s when I decided to sit down and organize the environment tools I’ve actually used. They’re not magic bullets, but they’ve saved me from at least 80% of the pain.

🙋Here are a few that stood out:

  1. ServBay (Great for Multi-language Projects) I’ve recently been using ServBay, and while it’s not specifically built for Python, it supports multi-language stacks quite well—PHP, Node.js, Go, Python, you name it. The biggest selling point? One-click service setup (PostgreSQL, Redis, MySQL, Nginx, etc.) and easy language version switching. No config files necessary.

Here’s what I currently run with it:
•A Flask-based backend (Python 3.11)
•A React admin panel (Node.js 20)
•A PostgreSQL database
•Sometimes even legacy PHP 7.4 for an old project

Image description

ServBay makes switching between these setups seamless. It’s ideal for:
✅Developers who need to run multiple services locally
✅Engineers juggling multiple stacks
✅Anyone who wants to avoid writing Dockerfiles or YAML configs for everything

  1. Pipenv / Poetry (Focused on Python Virtual Environments)

If you’re working on a pure Python project, Pipenv and Poetry are more “Pythonic” options:
✅Pipenv: Manages Pipfile and creates virtual environments automatically. Great for Flask or Django.
✅Poetry: A more modern approach, leaning toward packaging and publishing libraries—perfect if you’re planning to open-source something.
Both tools help you avoid global pip pollution, though they won’t manage service dependencies like PostgreSQL or Redis.

Image description

  1. Direnv + ASDF (For CLI Enthusiasts) Love the terminal? Direnv + ASDF is a powerful (and a bit nerdy) combo: ✅ASDF handles language versions: Python, Node, Go, Ruby—you name it. ✅Direnv auto-loads .envrc files when you cd into a directory, activating virtual Image descriptionenvironments and environment variables. It’s super flexible but does require some shell scripting familiarity.

  1. Devbox (Cross-language Dependency Management + Isolation) Devbox is gaining traction fast. Built on Nix, it brings the “infrastructure as code” mindset to local dev environments.I tried it for a CLI project using Python and Rust, and it made cross-language development a lot easier—especially when syncing environments across teammates. Image description Pros: ✅Supports multi-language dependency management ✅Automatic isolation and reproducibility ✅No Docker required, no manual installations needed Cons: ❌Documentation leans toward experienced engineers ❌Can feel “heavy” for simple Python-only projects

  1. DDEV (Docker-Powered, Web Dev Friendly—Supports Python Too) While DDEV is primarily popular with PHP developers (Drupal, TYPO3, etc.), it can easily run Python projects like Flask or FastAPI too. It wraps Docker nicely, making it easy to spin up services like PostgreSQL, Redis, and Mailhog.

Image description
Pros:
✅ Docker environments pre-configured, no Dockerfiles needed
✅Easily define multiple services, HTTPS, debugging tools, etc.
✅CLI experience is smooth—live reloads and environment switching
Cons:
❌Slower startup compared to ServBay (since it uses Docker under the hood) ❌Slightly more resource-hungry on macOS
conclusion:

Image description

In the end, your development environment should match your project’s pace and complexity. If you’re stuck in the same swamp I was, give some of these tools a try—maybe one of them will become your new favorite.

And hey—what tools do you use to keep your local environment sane? I’d love to hear what’s working for you. Drop a comment and share the wisdom

Top comments (7)

Collapse
 
taogeegi profile image
taogeegi

✅✅cool!I'm also using servbay! It is convenient to switch between different languages.

Collapse
 
dathyyy profile image
dathy

Right, I don't need Docker after using servbay, which is more suitable for lazy people hhhh.🤣

Collapse
 
mattyedwards profile image
Matty

too.I also used server bay from Docker, and now I switch between them.

Collapse
 
cfzgsj profile image
Ella

anch'io.

Collapse
 
cathyclark profile image
Cathy

Herramientas interesantes.

Collapse
 
bellaaacoder profile image
Taoling Shen

I am learning Python.thank you

Collapse
 
taolinggeegi profile image
Shen Taolinggeegi

I have used the tools mentioned above, servbay and ddev.🥸

Some comments may only be visible to logged-in visitors. Sign in to view all comments.

OSZAR »