Augmenting the Default Search Path for Python

December 08, 2023
Augmenting the Default Search Path for Python

Using the built-in modules is the default place to import codes in Python. Import the module and use the functions. That’s it. However, at times, the default lacks the modules or packages you need. Then, you must turn to different locations or directories to import what you need. And you can’t do so without knowing how to manipulate the Python path.

In this article, we will explore Python Path, when and why you need to learn how to manipulate it, and the way to do so.

So, without further ado, let’s learn how to augment or manipulate the default search path in Python.


Understanding Python Path

The Python path is the directory the interpreter turns to search for modules or packages when you use the import statement. Python usually works around three default paths.

  • The working directory.
  • The directory with the standard library modules.
  • The directory with third-party packages.

Why Manipulate Python Path?

Knowing the default directories don’t always prove adequate, it is now time to learn how to manipulate the Python path.

Importing Custom Modules Manipulating the default Python path becomes a must when you need to access directories for custom packages or modules.

Using Virtual EnvironmentsAugmenting the Python path helps isolate project dependencies in virtual environments. By doing so, you ensure the project only uses the packages in the virtual environment, not the system-wide ones.

Selecting the Right Python VersionThe Python path manipulation also helps choose the right Python version from a bunch.

Adding Python to Path: A Step-by-Step Guide

Knowing when you need to manipulate the Python path, let’s learn how to do so step-by-step.

Step 1: Identify the Current Python Path

Before you change the path, you need to know the default one. Here’s a command to know the default Python path.

import sys


The command will list the default directories in Python. Note these directories as they will help you adjust or manipulate them correctly.

Step 2: Modify Python Path Temporarily

The next command modifies the Python path temporarily for a specific session or script. We do this using the sys.path.append()’ method.

import sys

# Add a custom directory to the Python Path


# Now you can import modules from the custom directory

import custom_module

The above syntax works like a charm when you want to change the default path for a specific task without overriding the system’s default.

Step 3: Modify Python Path Permanently

Use environment variables to modify the Python path permanently. Do this when you want to add new import directories to Python for all future sessions.

Here’s how to do so in Windows:

  1. Open the Start menu and search for ‘Environment Variables.’
  2. Click ‘Edit system environment variables.’
  3. Click the ‘Environment Variable’ icon in the System Properties window.
  4. Under ‘System variables,’ find the ‘path’ variable, and click ‘Edit.’
  5. Then, click ‘New’ and add the path to the desirable directory. (Use semicolons to separate multiple paths).
  6. Click ‘OK.’

On the other hand, you need to modify your shell configuration file to add directories to Python on macOS or Linux. Here’s how.

export PYTHONPATH="/path/to/your/custom/module:$PYTHONPATH"

Step4: Verify the Changes

Re-run the script you ran in the first step to check whether the Python path modification was successful.

import sys


Modifying Python Path for Virtual Environments

Knowing the ‘how’ behind the Python path modification, let’s understand its implementation with a practical example.

Step 1: Create a Virtual Environment

# Create a virtual environment named "myenv"

python -m venv myenv

Step 2: Activate the Virtual Environment



macOS and Linux:

source myenv/bin/activate

Step 3: Install Packages

Use the syntax below to install packages. Now the virtual environment is active, the packages will remain isolated to that environment.

pip install package_name

Step 4: Verify the Python Path

Run the Python script to verify the virtual environment is working right and modifying the path correctly.

import sys


Final Word

Knowing how to augment the Python path is a must for every Python developer, as it helps you work seamlessly with custom modules, virtual environments, and specific Python versions. Without it, doing the above becomes a hassle in Python as you must repeatedly write lengthy code to import right.

Read more: A Guide to Implementing the Java CompareTo Method

Bag Your Next Big Python Role Right Here, Right Now!



Candidate signup

Create a free profile and find your next great opportunity.


Employer signup

Sign up and find a perfect match for your team.


How it works

Xperti vets skilled professionals with its unique talent-matching process.


Join our community

Connect and engage with technology enthusiasts.