Description
Feature or enhancement
Proposal:
An official portable Python distribution would provide a plug-and-play, self-contained interpreter that can be extracted, used, and disposed without the overhead of the traditional installer. Key benefits include:
- Friendliness: Facilitates deployment (a simple
.zip
extraction), and removal (a simple delete folder operation). - Mobility: Easily carried on USB drives or external hard drives.
- Accessibility: Allows usage in restricted environments without additional permissions or system-level changes.
- Control: Prevents scattered, system-wide files and registry entries created by the traditional installer, avoiding hard-to-track leftovers.
- Manageability: All dependencies, libraries, and installed packages remain contained within a single folder.
This would lower the barrier to entry for many potential users—students and teachers in particular—by promoting no-cost exploration and experimentation.
Implementation:
A practical first step would be to build on the existing embeddable distribution by bundling pip
and enabling support for environment variables like PYTHONPATH
. This would blend the embeddable build’s isolation with the full-featured usability expected in a portable end-user package.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Activity
picnixz commentedon Jun 1, 2025
Hi, this kind of feature needs to be discussed first on https://discuss.python.org/c/ideas/6 and I'm pretty sure that there already exists a topic on having a portable installation. I'm not sure it's possible to do it though as there are many requirements that depend on the host platform and that cannot be carried over.
I also don't think the current installer is problematic. For Windows we have a new installer now, and for Unix-based systems, it's pretty much a matter of an
apt install
or something similar.cos4ni2s commentedon Jun 1, 2025
An installer inherently creates system-wide files and directories, that should be (manually) identified removed when you finish your job.
In a portable distribution, you just remove a single folder a voilà; the system is back to how it was.
picnixz commentedon Jun 1, 2025
In this case, I'd suggest using docker.
picnixz commentedon Jun 1, 2025
And you can avoid this by building from source and install wherever you want. You can then simply delete this folder.
cos4ni2s commentedon Jun 1, 2025
This is a feature request for the whole Python user-base; with the goal of making Python significatly better.
I invite you to give it a think a mention it to the board.