Login With Github

Install Python 3 in Windows, Linux And MaxOS

Python 3 is available for Windows, Mac OS and most of the flavors of Linux operating system. Even though Python 2 is available for many other OSs, Python 3 support either has not been made available for them or has been dropped.

In this Python installation guide, you'll see step by step how to set up a working Python 3 distribution on Windows, macOS, Linux. So let's get started!

Install Python 3

Windows platform

Step 1: Download the Python 3 Installer

Binaries of latest version of Python 3 are available on this download page.

The following different installation options are available.

  • Windows x86-64 embeddable zip file
  • Windows x86-64 executable installer
  • Windows x86-64 web-based installer
  • Windows x86 embeddable zip file
  • Windows x86 executable installer
  • Windows x86 web-based installer

Scroll to the version you need, and select either Windows x86-64 executable installer for 64-bit or Windows x86 executable installer for 32-bit.

For Windows, you can choose either the 32-bit or 64-bit installer. Here's what the difference between the two comes down to:

  • If your system has a 32-bit processor, then you should choose the 32-bit installer.
  • On a 64-bit system, either installer will actually work for most purposes. The 32-bit version will generally use less memory, but the 64-bit version performs better for applications with intensive computation.
  • If you're unsure which version to pick, go with the 64-bit version.

Remember that if you get this choice "wrong" and would like to switch to another version of Python, you can just uninstall Python and then re-install it by downloading another installer from python.org.

Step 2: Run the Installer

Once you have chosen and downloaded an installer, simply run it by double-clicking on the downloaded file. A dialog should appear that looks something like this:

Note: You want to be sure to check the box that says Add Python 3.x to PATH as shown to ensure that the interpreter will be placed in your execution path.

Then just click Install Now. That should be all there is to it. A few minutes later you should have a working Python 3 installation on your system.

FAQs for Installing Python 3 on Windows

How to upgrade the Python installation in Windows 10?

Every minor version of Python, that is any 3.x and 2.x version, will install side-by-side with other versions on your computer. Only patch versions will upgrade existing installations.

So if you want to keep your installed Python 2.7 around, then just let it and install a new version using the installer. If you want to get rid of Python 2.7, you can uninstall it before or after installing a newer version—there is no difference to this.

Current Python 3 installations come with the py.exe launcher, which by default is installed into the system directory. This makes it available from the PATH, so you can automatically run it from any shell just by using py instead of python as the command. This avoids you having to put the current Python installation into PATH yourself. That way, you can easily have multiple Python installations side-by-side without them interfering with each other. When running, just use py script.py instead of python script.py to use the launcher. You can also specify a version using for example py -3 or py -3.6 to launch a specific version, otherwise the launcher will use the current default (which will usually be the latest 3.x).

Using the launcher, you can also run Python 2 scripts (which are often syntax incompatible to Python 3), if you decide to keep your Python 2.7 installation. Just use py -2 script.py to launch a script.

As for PyPI packages, every Python installation comes with its own folder where modules are installed into. So if you install a new version and you want to use modules you installed for a previous version, you will have to install them first for the new version. Current versions of the installer also offer you to install pip; it's enabled by default, so you already have pip for every installation. Unless you explicitly add a Python installation to the PATH, you cannot just use pipthough. Luckily, you can also simply use the py.exe launcher for this: py -m pip runs pip. So for example to install Beautiful Soup for Python 3.6, you could run py -3.6 -m pip install beautifulsoup4.

from StackOverflow - poke

How to switch between python 2.7 to python 3 from command line?

Python 3.3 comes with PyLauncher "py.exe", installs it in the path, and registers it as the ".py" extension handler. With it, a special comment at the top of a script tells the launcher which version of Python to run:

print "hello"



From the command line:

Py -3 hello.py


Py -2 hello.py

See 3.4. Python Launcher for Windows

from StackOverflow - Mark Tolonen

Linux platform

Different flavors of Linux use different package managers for installation of new packages.

There is a very good chance your Linux distribution has Python installed already, but it probably won't be the latest version, and it may be Python 2 instead of Python 3.

To find out what version(s) you have, open a terminal window and try the following commands:

python --version
python2 --version
python3 --version

One or more of these commands should respond with a version, as below:

$ python3 --version
Python 3.6.5

If the version shown is Python 2.x.x or a version of Python 3 that is not the latest (3.6.5 as of this writing), then you will want to install the latest version. The procedure for doing this will depend on the Linux distribution you are running.


Depending on the version of the Ubuntu distribution you run, the Python install instructions vary. You can determine your local Ubuntu version by running the following command:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:        16.04
Codename:       xenial

Depending on the version number you see under Release in the console output, follow the instructions below:

Ubuntu 17.10, Ubuntu 18.04 (and above) come with Python 3.6 by default. You should be able to invoke it with the command python3.

Ubuntu 16.10 and 17.04 do not come with Python 3.6 by default, but it is in the Universe repository. You should be able to install it with the following commands:

$ sudo apt-get update
$ sudo apt-get install python3.6

You can then invoke it with the command python3.6.

If you are using Ubuntu 14.04 or 16.04, Python 3.6 is not in the Universe repository, and you need to get it from a Personal Package Archive (PPA). For example, to install Python from the "deadsnakes" PPA, do the following:

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6

As above, invoke with the command python3.6.


We found sources that indicated that the Ubuntu 16.10 method would work for Debian, but we never found a path to get it to work on Debian 9. Instead, we ended up making Python from source as listed below.

One issue with Debian, however, is that it generally does not install the sudo command by default. To install it, you'll need to do the following before you carry out the Compiling Python From Source instructions below:

$ su
$ apt-get install sudo
$ vi /etc/sudoers

After that, open the /etc/sudoers file using the sudo vim command (or your favorite text editor.) Add the following line of text to the end of the file, replacing your_username with your actual username:

your_username ALL=(ALL) ALL


The IUS Community does a nice job of providing newer versions of software for "Enterprise Linux" distros (i.e. Red Hat Enterprise and CentOS). You can use their work to help you install Python 3.

To install, you should first update your system with the yum package manager:

$ sudo yum update
$ sudo yum install yum-utils

You can then install the CentOS IUS package which will get you up to date with their site:

$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm

Finally you can then install Python and Pip:

$ sudo yum install python36u
$ sudo yum install python36u-pip

Thanks to Jani Karhunen for his excellent writeup for CentOS 7.

Compiling Python From Source

Sometimes your Linux distribution will not have the latest version of Python, or maybe you just want to be able to build the latest, greatest version yourself. Here are the steps you need to take to build Python from source:

Step 1: Download the Source Code

To start, you need to get the Python source code. Python.org makes this fairly easy. If you go to the Downloads page, you will see the latest source for Python 3 at the top. (Make sure you don't grab Legacy Python, Python 2.)

When you select the version, at the bottom of the page there is a Files section. Select the Gzipped source tarball and download it to your machine. If you prefer a command line method, you can easily use wget to download it to your current directory:

$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

Step 2: Prepare Your System

There are a few distro-specific steps involved in building Python from scratch. The goal of each step is the same on all distros, but you might need to translate to your distribution if it does not use apt-get:

The first step you should take when doing an operation like this is to update the system packages on your machine before you start. On Debian, this is what that looks like:

$ sudo apt-get update
$ sudo apt-get upgrade

Next, we want to make sure the system has the tools needed to build Python. There are a bunch of them and you might already have some, but that's fine. I've listed them all in one command line, but you can break the list into shorter commands by just repeating the sudo apt-get install -y portion:

# For apt-based systems (like Debian, Ubuntu, and Mint)
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev  libncursesw5-dev xz-utils tk-dev

# For yum-based systems (like CentOS)
$ sudo yum -y groupinstall development
$ sudo yum -y install zlib-devel

Step 3: Build Python

Once you have the prerequisites and the tar file, you can unpack the source into a directory. Note that the following command will create a new directory called Python-3.6.5 under the one you are in:

$ tar xvf Python-3.6.5.tgz
$ cd Python-3.6.5

Now you need to run the ./configure tool to prepare the build:

$ ./configure --enable-optimizations --with-ensurepip=install

Next, you build the Python programs using make. The -j option simply tells make to split the building into parallel steps to speed up the compilation. Even with the parallel builds, this step can take a several minutes:

$ make -j 8

Then, you'll want to install your new version of Python. You'll use the altinstall target here in order to not overwrite the system's version of Python. Since you're installing Python into /usr/bin, you'll need to run as root:

$ sudo make altinstall

Warning: Please only use the altinstall target on make. Using the install target will overwrite the python binary. While this seems like it would be cool, there are big portions of the system that rely on the pre-installed version of Python.

Step 4: Verify Your Python Install

macOS / Mac OS X

Finally, you can test out your new Python version:

$ python3.6 -V
Python 3.6.5

While current versions of macOS (previously known as "Mac OS X") include a version of Python 2, it is likely out of date by a few months. Also, this tutorial series uses Python 3, so let's get you upgraded to that.

The best way we found to install Python 3 on macOS is through the Homebrew package manager. This approach is also recommended by community guides like The Hitchhiker's Guide to Python.

Step 1: Install Homebrew (Part 1)

To get started, you first want to install Homebrew:

  1. Open a browser and navigate to http://brew.sh/. After the page has finished loading, select the Homebrew bootstrap code under "Install Homebrew". Then hit Cmd+C to copy it to the clipboard. Make sure you've captured the text of the complete command because otherwise the installation will fail.
  2. Now you need to open a Terminal.app window, paste the Homebrew bootstrap code, and then hit Enter. This will begin the Homebrew installation.
  3. If you're doing this on a fresh install of macOS, you may get a pop up alert asking you to install Apple's "command line developer tools". You'll need those to continue with the installation, so please confirm the dialog box by clicking on "Install".

At this point, you're likely waiting for the command line developer tools to finish installing, and that's going to take a few minutes. Time to grab a coffee or tea!

Step 2: Install Homebrew (Part 2)

You can continue installing Homebrew and then Python after the command line developer tools installation is complete:

  1. Confirm the "The software was installed" dialog from the developer tools installer.
  2. Back in the terminal, hit Enter to continue with the Homebrew installation.
  3. Homebrew asks you to enter your password so it can finalize the installation. Enter your user account password and hit Enter to continue.
  4. Depending on your internet connection, Homebrew will take a few minutes to download its required files. Once the installation is complete, you'll end up back at the command prompt in your terminal window.

Whew! Now that the Homebrew package manager is set up, let's continue on with installing Python 3 on your system.

Step 3: Install Python

Once Homebrew has finished installing, return to your terminal and run the following command:

$ brew install python3

Note: When you copy this command, be sure you don't include the $ character at the beginning. That's just an indicator that this is a console command.

This will download and install the latest version of Python. After the Homebrew brew install command finishes, Python 3 should be installed on your system.

You can make sure everything went correctly by testing if Python can be accessed from the terminal:

  1. Open the terminal by launching Terminal.app.
  2. Type pip3 and hit Enter.
  3. You should see the help text from Python's "Pip" package manager. If you get an error message running pip3, go through the Python install steps again to make sure you have a working Python installation.

Assuming everything went well and you saw the output from Pip in your command prompt window…congratulations! You just installed Python on your system, and you're all set to continue with the next section in this tutorial.

Setting up PATH

Programs and other executable files can be in many directories. Hence, the operating systems provide a search path that lists the directories that it searches for executables.

The important features are:

  • The path is stored in an environment variable, which is a named string maintained by the operating system. This variable contains information available to the command shell and other programs.

  • The path variable is named as PATH in Unix or Path in Windows (Unix is case-sensitive; Windows is not).

  • In Mac OS, the installer handles the path details. To invoke the Python interpreter from any particular directory, you must add the Python directory to your path.

Setting Path at Unix/Linux

To add the Python directory to the path for a particular session in Unix

  • In the csh shell - type setenv PATH "$PATH:/usr/local/bin/python3" and press Enter.

  • In the bash shell (Linux) - type export PYTHONPATH=/usr/local/bin/python3.4 and press Enter.

  • In the sh or ksh shell - type PATH = "$PATH:/usr/local/bin/python3" and press Enter.

Note - /usr/local/bin/python3 is the path of the Python directory.

Setting Path at Windows

To add the Python directory to the path for a particular session in Windows -

  • At the command prompt - type path %path%;C:\Python and press Enter.

Note - C:\Python is the path of the Python directory

Python Environment Variables

Here are important environment variables, which are recognized by Python:

Sr.No. Variable & Description


It has a role similar to PATH. This variable tells the Python interpreter where to locate the module files imported into a program. It should include the Python source library directory and the directories containing Python source code. PYTHONPATH is sometimes preset by the Python installer.



It contains the path of an initialization file containing Python source code. It is executed every time you start the interpreter. It is named as .pythonrc.py in Unix and it contains commands that load utilities or modify PYTHONPATH.



It is used in Windows to instruct Python to find the first case-insensitive match in an import statement. Set this variable to any value to activate it.



It is an alternative module search path. It is usually embedded in the PYTHONSTARTUP or PYTHONPATH directories to make switching module libraries easy.

Running Python

There are three different ways to start Python.

Interactive Interpreter

You can start Python from Unix, DOS, or any other system that provides you a command-line interpreter or shell window.

Enter python the command line.

Start coding right away in the interactive interpreter.

$python             # Unix/Linux
python%             # Unix/Linux
C:>python           # Windows/DOS

Here is the list of all the available command line options:

Sr.No. Option & Description


provide debug output



generate optimized bytecode (resulting in .pyo files)



do not run import site to look for Python paths on startup



verbose output (detailed trace on import statements)



disable class-based built-in exceptions (just use strings); obsolete starting with version 1.6


-c cmd

run Python script sent in as cmd string



run Python script from given file

Script from the Command-line

A Python script can be executed at the command line by invoking the interpreter on your application, as shown in the following example.

$python  script.py          # Unix/Linux
python% script.py           # Unix/Linux
C:>python script.py         # Windows/DOS

Note - Be sure the file permission mode allows execution.

Integrated Development Environment

You can run Python from a Graphical User Interface (GUI) environment as well, if you have a GUI application on your system that supports Python.

  • Unix - IDLE is the very first Unix IDE for Python.

  • Windows - PythonWin is the first Windows interface for Python and is an IDE with a GUI.

  • Macintosh - The Macintosh version of Python along with the IDLE IDE is available from the main website, downloadable as either MacBinary or BinHex'd files.

If you are not able to set up the environment properly, then you can take the help of your system admin. Make sure the Python environment is properly set up and working perfectly fine.

Note - All the examples given in subsequent chapters are executed with Python 3.4.1 version available on Windows 7 and Ubuntu Linux.

We have already set up Python Programming environment online, so that you can execute all the available examples online while you are learning theory. Feel free to modify any example and execute it online.

1 Comment


I have learned use yum-utils from this page.thank you