platformio / platformio/platformio-docs

Can not find working Python 3.6+ interpreter because of missing python-venv

Open
#393 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
285
Forks
357
PR merge metrics
No merged PRs in 30d

Description

I hope you don't mind that I used AI for that.

This happens even when a fully valid Python 3.12 interpreter is present and works normally.
The actual underlying issue is that the system is missing the python3-venv package, which PlatformIO needs to create its internal virtual environment.
However, the error message does not indicate this, leading users to believe their Python path or version is invalid.

This results in unnecessary confusion (e.g., users thinking they need to install Python 3.6 or a different interpreter path).

🔁 Steps to Reproduce

Use a Linux machine (e.g., Ubuntu/Mint/Debian) with:

python3 installed

but without python3-venv

Connect to the machine using VS Code Remote SSH from a Windows host.

Install the PlatformIO extension in the remote environment.

When prompted for a Python path, provide /usr/bin/python3 (which is Python 3.12.3 or similar).

PlatformIO reports:

Can not find working Python 3.6+ interpreter

✔️ Expected Behavior

PlatformIO should:

Detect that Python 3.6+ exists and is valid.

If venv support is missing, show a clear, actionable message, such as:

“Python interpreter is valid, but Python’s ‘venv’ module is missing.
Please install python3-venv and retry.”

❌ Actual Behavior

PlatformIO incorrectly reports that the Python interpreter is invalid or unsupported.

Users believe they must install Python 3.6 or provide a different path.

The real issue (missing python3-venv) is not mentioned.

🧪 Environment

Remote OS: Linux (Ubuntu/Mint/Debian family)

Python: /usr/bin/python3 → Python 3.12.3

Missing package: python3-venv

VS Code Remote SSH from Windows

PlatformIO extension latest version

🔍 Diagnosis

The installer attempts to create a virtual environment with:

python3 -m venv ~/.platformio/penv

This fails silently when python3-venv is missing.

PlatformIO then falls back to a generic error about “Python 3.6+” instead of telling the user the real failure cause.

Once the user installs:

sudo apt install python3-venv

the installer works immediately, and /usr/bin/python3 is accepted without issues.

💡 Suggested Fixes
Option A (Preferred): Improve error message

Detect missing venv module and show:

“Python is installed, but the ‘venv’ module is missing.
Please install python3-venv.”

Option B: Pre-check for venv

Before attempting venv creation, run:

import venv

If it fails, show a clear diagnostic.

Option C: Add documentation note

Add to installation requirements:

“Debian/Ubuntu users must install python3-venv to allow PlatformIO to create a virtual environment.”

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the PlatformIO installation requirements and the virtual-environment setup that runs python3 -m venv ~/.platformio/penv; the issue does not name a documentation file or test. Confirm whether this repository should document the Debian/Ubuntu python3-venv requirement or whether the installer error belongs elsewhere. Done means the missing venv dependency and the resulting user guidance are clearly documented or routed to the correct component.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.