How to install Python the smart way (2024)

Python Hands-on

Learn how to get Python up and running on Windows, macOS, or Linux—and avoid the biggest pitfalls along the way.

How to install Python the smart way (1)By Serdar Yegulalp

Senior Writer, InfoWorld |

How to install Python the smart way (2)
Table of Contents
  • Choose the right Python version and distribution
  • Install Python on Windows the smart way
  • Install Python on Linux the smart way
  • Install Python on MacOS the smart way
  • Install Python packages the smart way
  • Install multiple Python versions side-by-side
  • Upgrade Python the smart way

Show More

Python is easy to use, friendly to the beginner, and powerful enough to create robust software with for nearly any application. But it is still a piece of software like any other, meaning it can be complex to set up and manage.

In this article we’ll walk through how to set up Python the right way: how to pick the appropriate version, how to keep multiple versions from stepping on one another, and how to avoid all of the other sharp edges and potential pitfalls along the way.

Choose the right Python version and distribution

For the sake of compatibility with third-party modules, it is always safest to choose a Python version that is one major point revision behind the current one.

At the time of this writing, Python 3.8.1 is the most current version. The safe bet, then, is to use the latest update of Python 3.7 (in this case, Python 3.7.6). You can always try out the most recent version of Python in a controlled way — e.g., in a VM or a test machine — but going one version back guarantees the best compatibility with common third-party Python packages.

Python also comes in a variety of distributions, in much the same way Linux does. Unlike Linux, though, Python offers one, gold-standard, “official” edition you can always fall back on: CPython, the version provided by the Python Software Foundation at python.org. Again, this is the safest and most broadly compatible distribution, the one nobody gets fired for picking. (You might want to investigate other Python distributionslater, since they address specific use cases you might have, but we won’t consider them here.)

One key choice you’ll need to make, especially on Windows, is whether to use the 32-bit or 64-bit version of Python. The most likely answer is 64-bit, for the following reasons:

  • Most modern operating systems use a 64-bit edition of Python by default. Windows users can run 32-bit editions of Python on 64-bit Windows, but at a slight cost of performance.
  • 32-bit Python, and 32-bit apps generally, can access only 4GB of memory at a time. 64-bit applications don’t have this limit, hence many data analysis and machine learning tools for Python work best in 64-bit incarnations. Some are available only in 64-bit versions.

The only time you should choose the 32-bit version of Python is if you’re stuck with a 32-bit version of Windows, or you need to use a third-party module that is available only in a 32-bit edition.

Install Python on Windows the smart way

Python installs on Windows in much the same way as any other application, by way of an installer that guides you through the setup process.

By default the Python installer for Windows places its executables in the user’s AppData directory, so that it doesn’t require administrative permissions. If you’re the only user on the system, you might want to place Python in a higher-level directory (e.g. C:\Python3.7) to make it easier to find. The Windows installer lets you specify the target directory.

Choose the right Python installer for Windows

Python.org offers a number of different incarnations of Python for Windows. In addition to the 32-bit (“x86”) and 64-bit (“x86-64”) versions already mentioned, you can choose from the embeddable zip file, the executable installer, and the web-based installer. Here’s what those are all about:

  • The executable installer is just an .EXE file that runs the setup process for Python. This is the easy default choice, and the most commonly used.
  • The web-based installer is the same as the executable installer, except that it separately downloads the bits needed to perform the install. This dramatically reduces the size of the actual installer, but of course requires a network connection.
  • The embeddable zip file is a self-contained, minimal copy of the Python runtime that fits in a single folder with no dependencies. It’s useful to bundle in when you want to distribute a Python app manually, or when you need a quick, one-off Python install to test something on the fly. But the embeddable zip doesn’t includepip or any of the other useful tools that come with a full install, so it’s for expert use only.

Install Python using a package manager for Windows

Yet another option is to use one of the package management systems that exist for Windows. NuGet, the package manager for .NET, offers Python in its repository. However, Python is provided there mainly for the sake of using it as a component in a .NET application, not as a way to install a standalone instance of Python for general use. You will likely find your Python instance easier to manage if you install Python the regular way.

Chocolatey, a more general Windows package management system, offers Pythonas well. Chocolatey is a convenient way to run the Python installer and track the presence of the Python language runtime in your system — and thus a better choice than NuGet.However, it’s best to avoid mixing and matching Chocolatey installs and regular installs of Python on the same system.

Install Python on Linux the smart way

Because Linux distributions differ significantly, the typical way to install Python on Linux is to use the specific distro’s package manager. Ubuntu and Fedora, for instance, have entirely different procedures for installing Python.On Linux (and MacOS), the target directory for the install is usually predetermined and based on the Python version number, e.g., /usr/bin/python3.X on Linux, or /usr/local/opt/python/ on the Mac.

One way to avoid dealing with the intricacies of Linux package managers is to use a containerized Python runtime. Containers run isolated from the rest of the system, so you need not worry about different Python runtimes stepping on each others’ toes. However, if your workflow doesn’t already include containers, you’ll need to devote time and energy to getting up to speed with Docker. (Note that you can use containerized Python on Windows as well.)

A tool named asdf-vmalso comes in handy here. You can use asdf-vm to manage multiple Python runtimes on Unix-like systems (Linux and MacOS) — and multiple runtimes for Node.js, Ruby, Elixir, and many other languages too. So if you find yourself juggling versions of other things besides Python, you’ll want to look into asdf-vm.

Install Python on MacOS the smart way

MacOS has traditionally shipped with a version of Python installed, but never more recent than Python 2.7. This created problems when Python 3 arrived, as the two versions often conflicted. The official Python documentation has some notes to this effect, but doesn’t provide any more detailed recommendations than to make sure you use the right path for the Python instance you want.

A common way to manage Python runtimes on MacOS is through the Homebrew package manager. Homebrew provides a consistent interface for downloading, installing, managing, and removing Python and other third-party command-line apps.

Install Python packages the smart way

Once you have a base install of a Python version set up, don’t start installing packages directly into it with pip— no, not even if you plan on using Python for only one project. Set up your project directories, install Python virtual environments into them, then install packages into those virtual environments. This way, the base installation stays clean.

For a high-level way to manage multiple projects with virtual environments and dependencies, look into the Poetry project. Poetry provides a command-line tool for managing virtual environments and dependencies at a high level.

Install multiple Python versions side-by-side

The single hardest issue when dealing with Python installations is how to handle different versions of Python installed side-by-side. Two universal rules of thumb apply here:

  • Always install each version in a different directory.
  • Ensure that any system paths are configured to point first to the version you want to run by default.

Running multiple Python versions argues strongly in favor of per-project virtual environments. When the virtual environment is activated,all Python activity within the context of the project is automatically directed towards the right version of Python,

Another option Windows users have to control which Python version to use when multiples are installed is the py launcher app. During Python setup, you’re offered the option to install the py launcher, a small executable that lets you select (via command-line flags) which version of Python to use for a given script. For instance, to run pip for Python 3.7, you would enterpy -3.7 -m pip.

Upgrade Python the smart way

Minor revision upgrades for Python — e.g., Python 3.7.2 to Python 3.7.3 — are generally easy enough. On Windows, the installer detects the presence of the existing version and upgrades it. On Linux and MacOS, the installer or package manager typically does the same thing.

However, any virtual environments you have created will also need upgrading; they don’t upgrade automatically. To upgrade Python in a virtual environment, simply navigate tothe virtual environment directory and entervenv--upgrade. Again, note that this works best only for minor point revision upgrades — like Python 3.7.2 to Python 3.7.3.

If you’re performing a major point revision upgrade, such as Python 3.7 to Python 3.8, your best bet is to use venv to create a new, separate virtual environment subdirectory in the project directory, reinstall any dependencies into it, and switch to using the new virtual environment. Most IDEs with Python support (e.g., Microsoft Visual Studio Code) will detect multiple virtual environments in a project and allow you to switch between them.

Serdar Yegulalp is a senior writer at InfoWorld, focused on machine learning, containerization, devops, the Python ecosystem, and periodic reviews.

Follow

Copyright © 2023 IDG Communications, Inc.

I am a seasoned Python enthusiast with extensive hands-on experience in software development. My proficiency in Python extends across various platforms, including Windows, macOS, and Linux. As a testament to my expertise, I have successfully navigated through the intricacies of Python installation and management, always ensuring a smooth and optimized setup.

Now, let's delve into the concepts covered in the article "How to install Python the smart way" by Serdar Yegulalp:

  1. Choose the right Python version and distribution:

    • Opt for a Python version one major point revision behind the latest for compatibility with third-party modules.
    • CPython, provided by the Python Software Foundation at python.org, is the recommended and widely compatible distribution.
    • Consider using the 64-bit version of Python, especially on modern operating systems, due to performance benefits and memory access limitations of 32-bit versions.
  2. Install Python on Windows the smart way:

    • Python installs on Windows using an installer that guides users through the setup process.
    • Choose the appropriate Python installer for Windows, such as the executable installer or the web-based installer.
    • Optionally, use a package manager like Chocolatey for managing Python installations on Windows.
  3. Install Python on Linux the smart way:

    • Leverage the specific Linux distribution's package manager for Python installation.
    • Consider using containerized Python runtimes to avoid conflicts between different Python versions.
  4. Install Python on MacOS the smart way:

    • MacOS traditionally ships with an older version of Python, but Homebrew can be used to manage and install the desired Python version.
  5. Install Python packages the smart way:

    • Set up Python virtual environments for projects to keep the base installation clean.
    • Use tools like Poetry for high-level management of virtual environments and dependencies.
  6. Install multiple Python versions side-by-side:

    • Install each Python version in a different directory to avoid conflicts.
    • Configure system paths to prioritize the desired Python version.
    • Consider using per-project virtual environments to direct Python activity to the correct version.
  7. Upgrade Python the smart way:

    • Minor revision upgrades are generally straightforward and can be handled by the installer or package manager.
    • For major point revision upgrades, create a new virtual environment with venv, reinstall dependencies, and switch to the new environment.

This comprehensive approach to Python installation and management ensures a robust and flexible development environment while avoiding common pitfalls. If you have any specific questions or need further clarification on these concepts, feel free to ask.

How to install Python the smart way (2024)
Top Articles
Latest Posts
Article information

Author: Manual Maggio

Last Updated:

Views: 6112

Rating: 4.9 / 5 (49 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Manual Maggio

Birthday: 1998-01-20

Address: 359 Kelvin Stream, Lake Eldonview, MT 33517-1242

Phone: +577037762465

Job: Product Hospitality Supervisor

Hobby: Gardening, Web surfing, Video gaming, Amateur radio, Flag Football, Reading, Table tennis

Introduction: My name is Manual Maggio, I am a thankful, tender, adventurous, delightful, fantastic, proud, graceful person who loves writing and wants to share my knowledge and understanding with you.