🚀 How It Started
I’m a MERN-stack developer exploring ERP software then I come to know about ERNnext based on Frappe, an open-source Python + MariaDB framework.
While trying to set it up on Windows, I quickly learned:
Frappe runs perfectly on Linux/Mac, but fails on native Windows.
So I had to learn why, and how to make it work using WSL (Windows Subsystem for Linux).
⚙️ Why Frappe Doesn’t Run on Windows Directly
Unlike Node.js (which runs anywhere), Frappe depends on:
MariaDB (SQL database)
Redis (caching + background jobs)
Gunicorn/Werkzeug (Python web server)
Supervisor/Nginx (process control)
These tools are Linux-native.
They expect a Linux-style filesystem, bash commands, and POSIX permissions — things Windows doesn’t provide.
💻 What WSL Does
WSL (Windows Subsystem for Linux) acts like a lightweight virtual Linux computer inside Windows.
It gives you:
a real Linux kernel
Ubuntu filesystem (/home/)
package manager (apt)
shared network + hardware
So you can run sudo apt install, redis-server, mysql, and other Linux tools — directly inside Windows.
📂 The Linux files actually live inside:
C:\Users<Name>\AppData\Local\Packages...\ext4.vhdx
Windows just mounts it for you.
🏗️ Installing Frappe in WSL (Simplified Steps)
# open Ubuntu (WSL)
sudo apt update && sudo apt upgrade
sudo apt install python3-pip redis-server mariadb-server
pip install frappe-bench
bench init frappe-bench
cd frappe-bench
source env/bin/activate
bench new-site dev.localhost #new site name
bench start
Now open http://localhost:8000 or http://dev.localhost:8000/
🧠 Why “bench” Exists
bench is a command-line tool that:
Initializes new Frappe projects
Starts servers (web, Redis, workers)
Handles database migrations
Installs apps like ERPNext
Basically, it’s your Frappe DevOps manager.
So think of:
Bench = npm + pm2 + nodemon for Python
💡 How VS Code Fits In
You can open your WSL folder in VS Code:
\\wsl$\Ubuntu\home\<user>\frappe-bench
and then run bench start in VS Code’s WSL terminal.
The editor runs in Windows, but the code executes inside Ubuntu — the best of both worlds.
⚡ Key Takeaways
Frappe = full-stack Python framework with its own ecosystem.
Windows can’t run it directly → needs WSL (Linux inside Windows).
WSL shares your PC’s CPU, RAM, and disk but acts like Ubuntu.
bench manages everything — like npm + pm2 for Frappe.
You can code in VS Code and run in WSL seamlessly.
✅ Example Setup Recap
# Activate virtual env
source ~/frappe-bench/env/bin/activate
# Start Frappe
bench start
# Access site
http://localhost:8000 or http://dev.localhost:8000/
✨ Closing Note
At first, setting up Frappe on Windows feels confusing — but once you understand WSL as your Linux bubble, it all clicks.
Top comments (0)