Step-by-step instructions for installing EMLyzer on Windows, macOS, and Linux.
Important
💻 Prerequisites: Review REQUIREMENTS.md before starting.
Step 1️⃣ — Download Python
- Go to python.org/downloads
- Click the yellow "Download Python 3.13.x" button (latest 3.13.x version)
Step 2️⃣ — Run the Installer
- Double-click the downloaded file (e.g.,
python-3.13.2-amd64.exe) ⚠️ CRITICAL: Check the box "Add Python 3.13 to PATH" before installing- If you skip this, Windows won't find Python later
- Click "Install Now" and wait for completion
Step 3️⃣ — Verify
Open Command Prompt (Win key → type cmd → Enter):
python --versionExpected output: Python 3.13.x ✅
Ubuntu 24.04 includes Python 3.12 by default. Install Python 3.13:
sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install python3.13 python3.13-venv -yVerify:
python3.13 --versionNote
💡 Works on Ubuntu 20.04+, Debian 11+, and other Debian-based distros.
Using Homebrew (Recommended):
If you don't have Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Then install Python:
brew install [email protected]Verify:
python3.13 --versionAlternative — Download from python.org:
- Download
.pkgfrom python.org/downloads/macos - Run the installer and follow on-screen instructions
- Go to the GitHub repository
- Click "Code" (green button) → "Download ZIP"
- Extract to a folder:
- Windows:
C:\Users\YourName\EMLyzer\ - Linux/macOS:
~/EMLyzer/or/opt/EMLyzer/
- Windows:
If you have .tar.gz:
Windows: Use 7-Zip, WinRAR, or Windows 11 built-in .tar.gz support
Linux/macOS:
tar -xzf EMLyzer_v0.16.1.tar.gz
cd EMLyzerIf you have Git installed:
git clone https://github.com/0verwrite/EMLyzer.git
cd EMLyzer- Open File Explorer
- Navigate to your
EMLyzerfolder - Double-click
start.bat
A black console window opens showing progress:
============================================
EMLyzer v0.16.1
============================================
[INFO] Python found:
Python 3.13.2
[INFO] Creating virtual environment...
[INFO] Virtual environment created.
[INFO] Installing dependencies (first run: a few minutes)...
[INFO] Dependencies OK.
============================================
Application Ready
============================================
Open browser: http://localhost:8000
API documentation: http://localhost:8000/docs
Language: IT/EN button (top right)
Press CTRL+C to stop
============================================
⏱️ First run takes 2-5 minutes (downloading Python packages). Subsequent runs start in seconds.
Open Terminal in the project folder:
chmod +x start.sh # Make executable (first time only)
./start.shSame output as Windows above.
After the console shows "Application Ready", open your browser:
You should see:
- ✅ Email upload area
- ✅ Recent analyses list
- ✅ Campaign detection panel
- ✅ IT/EN language selector (top right)
Open this link in your browser to verify the backend:
http://localhost:8000/api/health
Expected response:
{"status": "ok", "version": "0.16.1", "app": "EMLyzer"}Cause: Python installed but "Add to PATH" wasn't checked
Solution:
- Run Python installer again
- Click "Modify" (or uninstall and reinstall)
- ✅ Check "Add Python 3.13 to PATH"
- Click "Install Now"
Alternative — Add to PATH manually:
- Search "Edit environment variables" in Start menu
- Go to System variables → "Path"
- Add:
C:\Users\YourName\AppData\Local\Programs\Python\Python313\ - Restart Command Prompt
Cause: Using Python 3.14+ or missing C compiler
Solution: Use Python 3.13 as described above
If you have multiple Python versions installed, the script auto-selects the correct one. If issues persist:
Windows:
rmdir /s /q .venv
start.batLinux/macOS:
rm -rf .venv
./start.shCause: Another program uses port 8000 or EMLyzer is running twice
Solution:
Windows:
netstat -ano | findstr :8000
taskkill /PID [number_from_above] /F
start.batLinux/macOS:
lsof -i :8000
kill [process_id]
./start.shCause: Error during startup before you can read it
Solution:
- Open Command Prompt manually
- Navigate to project:
cd C:\Users\YourName\EMLyzer - Run:
start.bat - Now the window stays open and you can see the error
Cause: Server hasn't started or crashed
Solution:
- Check console window is still open and showing "Application Ready"
- Wait a few seconds and refresh browser (F5)
- Verify correct URL: http://localhost:8000 (not https, not port 80)
Cause: Script lacks execute permission
Solution:
chmod +x start.sh run_tests.sh
./start.shIn the console window where the app is running:
Press CTRL + C
The window shows [INFO] Server stopped. and closes (Windows asks for confirmation).
To upgrade to a newer version:
-
Download the new version
-
Extract to the same folder, overwriting files (database is preserved)
-
Delete the virtual environment to force reinstalling dependencies:
Windows:
rmdir /s /q .venvLinux:
rm -rf .venv -
Run
start.bat/start.shas usual
Warning
backend/.env if you configured API keys — it contains your settings.
- First time? → Learn the basics in USAGE.md
- Need API keys? → CONFIGURATION.md
- Developer? → API.md
Last updated: 2026-06-29 ← Requirements | Configuration →