PYTHONPATH Environment Variable in Python

Python’s behavior is greatly influenced by its environment variables. One of those variables is PYTHONPATH. It is used to set the path for the user-defined modules so that it can be directly imported into a Python program. It is also responsible for handling the default search path for Python Modules. The PYTHONPATH variable holds a string with the name of various directories that need to be added to the sys.path directory list by Python. The primary use of this variable is to allow users to import modules that are not made installable yet. Let’s try to understand the concept using an example.

Suppose you defined a module as below:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# user-defined module
# saved as my_module.py
  
  
def module_func():
    print("You just imported the user-defined module")

chevron_right


Now if you attempt to import the_my_module.py in your python script as below:

Python3



filter_none

edit
close

play_arrow

link
brightness_4
code

# python script to
# call the module
  
# import the module
import my_module
  
# call the module function
my_module.module_func()

chevron_right


This will lead to the following error:

This is due to the reason that PYTHONPATH is not set yet. In simpler words, the Python interpreter cannot find the location of my_module.py file. So to set PYTHONPATH on a windows machine follow the below steps:

Step 1: Open your This PC (or My Computer) and write click and click on properties.

Step 2: After the properties window pop up click on to Advance System Settings:

Step 3: Now click on the environment variable button in the new popped up window as shown below:



Step 4: Now in the new Environment Variable dialog box click on New as shown below:

Step 5: Now in the variable dialog box add the name of the variable as PYTHONPATH and in value add the location to the module directory that you want python to check every time as shown below:

Step 6: Now open your command prompt and execute the my_script.py file with the below command:

python my_script.py

The behavior of python is set now so it should have no problem executing the python script by importing the my_module.py as shown below:




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.