How To Download And Run Python On Mac

Your Python code can be up on a code editor, IDE or a file. And, it won’t work unless you know how to execute your Python script.

In this blog post, we will take a look at 7 ways to execute Python code and scripts. No matter what your operating system is, your Python environment or the location of your code – we will show you how to execute that piece of code!

Python 2 is bundled with Mac OS X. However, Python 3 is not. We recommend that you download and install Python 3, and use Python 3 exclusively when running programs associated with this booksite. Perform these steps to download and install Python, IDLE, Tkinter, NumPy, and PyGame: Browse to the Python for Mac download page. In this Python Beginner Tutorial, we will start with the basics of how to install and setup Python for Mac and Windows. We will also take a look at the inter. The easiest way to do that is to install one of the binary installers for OS X from the Python Download page. Installers are available for the latest Python 3 and Python 2 releases that will work on all Macs that run Mac OS X 10.5 and later. Python releases include IDLE, Python's built-in interactive development environment. If you download.

Table of Contents

  1. Running Python Code Interactively
  2. How are Python Script is Executed
  3. How to Run Python Scripts
  4. How to Run Python Scripts using Command Line
  5. How to Run Python Code Interactively
  6. Running Python Code from a Text Editor
  7. Running Python Code from an IDE
  8. How to Run Python Scripts from a File Manager
  9. How to Run Python Scripts from Another Python Script

Where to run Python scripts and how?

You can run a Python script from:

  1. OS Command line (also known as shell or Terminal)
  2. Run Python scripts with a specific Python Version on Anaconda
  3. Using a Crontab
  4. Run a Python script using another Python script
  5. Using FileManager
  6. Using Python Interactive Mode
  7. Using IDE or Code Editor

Running Python Code Interactively

To start an interactive session for Python code, simply open your Terminal or Command line and type in Python(or Python 3 depending on your Python version). And, as soon as you hit enter, you’ll be in the interactive mode.

Here’s how you enter interactive mode in Windows, Linux and MacOS.

Interactive Python Scripting Mode On Linux

Open up your Terminal.

It should look something like

Enter the Python script interactive mode after pressing “Enter”.

Interactive Python Scripting Mode On Mac OSX

Launching interactive Python script mode on Mac OS is pretty similar to Linux. The image below shows the interactive mode on Mac OS.

Interactive Python Scripting Mode On Windows

On Windows, go to your Command Prompt and write “python”. Once you hit enter you should see something like this:

Running Python Scripts Interactively

With interactive Python script mode, you can write code snippets and execute them to see if they give desired output or whether they fail.

Take an example of the for loop below.

Recommended Python Training

For Python training, our top recommendation is DataCamp.

Our code snippet was written to print everything including 0 and upto 5. So, what you see after print(i) is the output here.

To exit interactive Python script mode, write the following:

And, hit Enter. You should be back to the command line screen that you started with initially.

There are other ways to exit the interactive Python script mode too. With Linux you can simply to Ctrl + D and on Windows you need to press Ctrl + Z + Enter to exit.

Note that when you exit interactive mode, your Python scripts won’t be saved to a local file.

How are Python scripts executed?

A nice way to visualize what happens when you execute a Python script is by using the diagram below. The block represents a Python script (or function) we wrote, and each block within it, represents a line of code.

When you run this Python script, Python interpreter goes from top to bottom executing each line.

And, that’s how Python interpreter executes a Python script.

But that’s not it! There’s a lot more that happens.

Flow Chart of How Python Interpreter Runs Codes

Where is python on mac

Step 1: Your script or .py file is compiled and a binary format is generated. This new format is in either .pyc or .pyo.

Step 2: The binary file generated, is now read by the interpreter to execute instructions.

Think of them as a bunch of instructions that leads to the final outcome.

There are some benefits of inspecting bytecode. And, if you aim to turn yourself into a pro level Pythonista, you may want to learn and understand bytecode to write highly optimized Python scripts.

You can also use it to understand and guide your Python script’s design decisions. You can look at certain factors and understand why some functions/data structures are faster than others.

How to run Python scripts?

To run a Python script using command line, you need to first save your code as a local file.

Let’s take the case of our local Python file again. If you were to save it to a local .py file named python_script.py.

There are many ways to do that:

  1. Create a Python script from command line and save it
  2. Create a Python script using a text editor or IDE and save it

Saving a Python script from a code editor is pretty easy. Basically as simple as saving a text file.

But, to do it via Command line, there are a couple of steps involved.

Run

First, head to your command line, and change your working directory to where you wish to save the Python script.

Once you are in the right directory, execute the following command in Terminal:

Once you hit enter, you’ll get into a command line interface that looks something like this:

Now, you can write a Python code here and easily run it using command line.

How to run Python scripts using command line?

Python scripts can be run using Python command over a command line interface. Make sure you specify the path to the script or have the same working directory. To execute your Python script(python_script.py) open command line and write python3 python_script.py

Replace python3 with python if your Python version is Python2.x.

Here’s what we saved in our python_script.py

And, the output on your command line looks something like this

Let’s say, we want to save the output of the Python code which is 0, 1, 2, 3, 4 – we use something called a pipe operator.

In our case, all we have to do is:

And, a file named “newfile.txt” would be created with our output saved in it.

How to run Python code interactively

There are more than 4 ways to run a Python script interactively. And, in the next few sections we will see all major ways to execute Python scripts.

Using Import to run your Python Scripts

We all use import module to load scripts and libraries extremely frequently. You can write your own Python script(let’s say code1.py) and import it into another code without writing the whole code in the new script again.

Here’s how you can import code1.py in your new Python script.

But, doing so would mean that you import everything that’s in code1.py to your Python code. That isn’t an issue till you start working in situations where your code has to be well optimized for performance, scalability and maintainability.

So, let’s say, we had a small function inside code1 that draws a beautiful chart e.g. chart_code1(). And, that function is the only reason why we wish to import the entire code1.py script. Rather than having to call the entire Python script, we can simply call the function instead.

Here’s how you would typically do it

And, you should be able to use chart_code1 in your new Python script as if it were present in your current Python code.

Next, let’s look at other ways to import Python code.

Using and importlib to run Python code

import_module() of importlib allows you to import and execute other Python scripts.

The way it works is pretty simple. For our Python script code1.py, all we have to do is:

There’s no need to add .py in import_module().

Let’s go through a case where we have complex directory structures and we wish to use importlib. Directory structure of the Python code we want to run is below:

level1

|

+ – __init__.py

– level2

|

+ – __init__.py

– level3.py

In this case if you think you can do importlib.import_module(“level3”), you’ll get an error. This is called relative import, and the way you do it is by using a relative name with anchor explicit.

So, to run Python script level3.py, you can either do

or you can do

Run Python code using runpy

Runpy module locates and executes a Python script without importing it. Usage is pretty simple as you can easily call the module name inside of run_module().

To execute our code1.py module using runpy. Here’s what we will do.

Run Python Code Dynamically

We are going to take a look at exec() function to execute Python scripts dynamically. In Python 2, exec function was actually a statement.

Here’s how it helps you execute a Python code dynamically in case of a string.

Dynamic Code Was Executed

However, using exec() should be a last resort. As it is slow and unpredictable, try to see if there are any other better alternatives available.

Running Python Scripts from a Text Editor

To run Python script using a Python Text Editor you can use the default “run” command or use hot keys like Function + F5 or simply F5(depending on your OS).

Here’s an example of Python script being executed in IDLE.

Source: pitt.edu

However, note that you do not control the virtual environment like how you typically would from a command line interface execution.

That’s where IDEs and Advanced text editors are far better than Code Editors.

Running Python Scripts from an IDE

When it comes to executing scripts from an IDE, you can not only run your Python code, but also debug it and select the Python environment you would like to run it on.

While the IDE’s UI interface may vary, the process would be pretty much similar to save, run and edit a code.

How to run Python scripts from a File Manager

What if there was a way to run a Python script just by double clicking on it? You can actually do that by creating executable files of your code. For example, in the case of Windows OS, you can simply create a .exe extension of your Python script and run it by double clicking on it.

How to run Python scripts from another Python script

Although we haven’t already stated this, but, if you go back up and read, you’ll notice that you can:

  1. Run a Python script via a command line that calls another Python script in it
  2. Use a module like import to load a Python script

That’s it!

Key Takeaway

  1. You can write a Python code in interactive and non interactive modes. Once you exit interactive mode, you lose the data. So, sudo nano your_python_filename.py it!
  2. You can also run your Python Code via IDE, Code Editors or Command line
  3. There are different ways to import a Python code and use it for another script. Pick wisely and look at the advantages and disadvantages.
  4. Python reads the code you write, translates it into bytecodes, which are then used as instructions – all of that happen when you run a Python script. So, learn how to use bytecode to optimize your Python code.

Recommended Python Training

For Python training, our top recommendation is DataCamp.

Historically MacOS came preinstalled with Python 2, however starting with Mac 10.15 (released in October 2019) this is no longer the case. And since Python 2 will no longer be officially supported as of January 1, 2020, you should really use Python 3 instead.

There are multiple ways to install Python 3 on a MacOS computer. The official Python website even recommends downloading it directly, however this approach can cause confusion around PATH variables, updates, and uninstalls. A better approach, in my opinion, is to instead use the popular package manager Homebrew which automates updates and juggling multiple versions of Python on a computer.

Is Python 3 already installed?

Before we start, make sure Python 3 isn’t already installed on your computer. Open up the command line via the Terminal application which is located at Applications -> Utilities -> Terminal.

Then type the command python --version followed by the Enter key to see the currently installed version of Python.

Note: The dollar sign, ($), indicates user input. Everything after is intended to be typed by the user followed by the Enter key. Any output, such as Python 2.7.17 in this case, does not have a dollar sign in front.In short: don’t type $ before your commands!

It’s possible that Python 3 may have already been installed as python3. Run the command python3 --version to check, however most likely this will throw an error.

Install XCode

The first step for Python 3 is to install Apple’s Xcode program which is necessary for iOS development as well as most programming tasks. We will use XCode to install Homebrew.

In your Terminal app, run the following command to install XCode and its command-line tools:

It is a large program so this make take a while to download. Make sure to click through all the confirmation prompts XCode requires.

Install Homebrew

Next install Homebrew by copy/pasting the following command into Terminal and then type Enter:

To confirm Homebrew installed correctly, run this command:

Install Python 3

Now we can install the latest version of Python 3. Type the following command into Terminal and press Enter:

To confirm which version of Python 3 was installed, run the following command in Terminal:

Finally, to run our new version of Python 3 open an interactive shall by typing python3 within Terminal:

To exit the Python 3 interactive shell, you can type either exit() and then Return or type Control+d which means hold both the Control and D keys at the same time.

Note that it is still possible to run Python 2 by simply typing python:

Virtual Environments

Where Is Python On Mac

By default, Python packages are installed globally on your computer in a single directory. This can cause major problems when working on multiple Python projects!

For example, imagine you have Project A that relies upon Django 1.11 whereas Project B uses Django 2.2. If you naively installed Django on your computer, only the latest install would be present and available in that single directory. Then consider that most Python projects rely on multiple packages that each have their own version numbers. There’s simply no way to keep everything straight and not inadvertently break things with the wrong package versions.

The solution is to use a virtual environment for each project, an isolated directory, rather than installing Python packages globally.

Confusingly, there are multiple tools for virtual environments in Python:

  • venv is available by default on Python 3.3+
  • virtualenv must be installed separately but supports Python 2.7+ and Python 3.3+
  • Pipenv is a higher-level tool that automatically manages a separate virtual environment for each project
Running

On MacOS we can install Pipenv with Homebrew.

Then use Pipenv for any Python packages you wish to install. For example, if you want to work with Django 2.2.6, first create a dedicated directory for it on your computer such as in a django directory on your Desktop.

Then install Django within that directory.

How To Install Python On Mac Os

If you look within the directory there are now two new files, Pipfile and Pipfile.lock, which Pipenv uses. To activate the virtual environment type pipenv shell.

There will now be parentheses around the name of your current directory which indicates the virtual environment is activate. To exit the virtual environment, type exit.

The lack of parentheses confirms the virtual environment is no longer active.

Next Steps

How To Download And Run Python On Mac Free

To learn more about Python, the books Python Crash Course and Automate the Boring Stuff are great resources. For free tutorials on web development with Python check out Learn Django.