About this Install Guide

This guide is intended to get you up and running with this tool quickly with the most common settings. For a thorough review of all options, refer to the official documentation.

Python has native support for Windows on Arm . Starting with version 3.11, an official installer is available. The latest version at time of writing is 3.12.0.

A number of developer ready Windows on Arm devices are available.

Windows on Arm instances are available with Microsoft Azure. For more information, see Deploy a Windows on Arm virtual machine on Microsoft Azure .

Download and install

The installer can be downloaded from the Python website . Locate the ARM64 installer.

You can also download from a PowerShell terminal.


            curl https://www.python.org/ftp/python/3.12.0/python-3.12.0-arm64.exe -O python-3.12.0-arm64.exe

Once downloaded, run the installer exe file on a Windows on Arm machine.

The installer will start.

Check Add python.exe to PATH if you want to easily invoke python from any directory.

Image Alt Text:Install

Setup was successful is displayed when complete.

Image Alt Text:Complete

Invoke python

At a Windows Command prompt or a PowerShell prompt use python or py to start the interpreter.



        Python 3.12.0 (tags/v3.12.0:0fb18b0, Oct  2 2023, 13:15:47) [MSC v.1935 64 bit (ARM64)] on win32
Type "help", "copyright", "credits" or "license" for more information.


Enter exit() to leave interpreter.



Test an example

To confirm python is working, save the code below into a file uname.py.



            import platform
print("Python version", platform.python_version())
print("Machine is", platform.uname().system, platform.uname().release, platform.uname().machine)

Run the code.


            py uname.py

Running on a Windows on Arm machine produces the output similar to:


        Python version 3.12.0
Machine is Windows 11 ARM64


Installing packages

Python pip can be used to install packages.

For example, to install Flask :


            pip install Flask

Save the code below as hello.py:



            import platform
from flask import Flask
app = Flask(__name__)

def hello():
    return "<h1><b>Hello from %s %s %s %s</b></h1>" % (platform.system(), platform.release(), platform.version(), platform.machine())

if __name__ == "__main__":

Run the application:


            python hello.py

The output will be similar to:


         * Serving Flask app 'hello'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (
 * Running on
 * Running on
Press CTRL+C to quit


Open a browser to the URL printed by the application. In this example:



The output is displayed in the browser window.

Image Alt Text:Complete

The accesses are reported in the command prompt:


        - - [<timestamp>] "GET / HTTP/1.1" 200 - - - [<timestamp>] "GET /favicon.ico HTTP/1.1" 404 - - - [<timestamp>] "GET / HTTP/1.1" 200 - - - [<timestamp>] "GET /favicon.ico HTTP/1.1" 404 -


Use Ctrl+C to kill the application.

Using IDLE

Python IDLE is included in the installation. IDLE is a simple IDE for python development. You can locate it in your start menu.

Image Alt Text:IDLE

You can create and run Python applications in this environment.

For example, use File > Open... (Ctrl+O) to open the above uname.py.

Then select Run > Run module (F5) to execute.

Image Alt Text:IDLE uname

You are now ready to use Python on your Windows on Arm device.


How would you rate the overall quality of this tool quick-install guide?