Download How to change sys.path or PYTHONPATH in Python

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Ask Xmodulo
Find answers to commonly asked Linux questions
http://ask.xmodulo.com
How to change sys.path or PYTHONPATH in Python
Author : Dan Nanni
Categories : Python
Tagged as : environment-variable
Question: When I run a Python application, it is not able to find one of imported modules and fails. Looks
like the directory of the Python module is not included in the default sys.path used by the Python
interpreter. How can I change the default sys.path in Python?
When the Python interpreter executes a program which imports a module, it examines all directory paths
listed in sys.path until it finds the module. By default, sys.path is constructed as a concatenation of (1)
the current working directory, (2) content of PYTHONPATH environment variable, and (3) a set of default
paths supplied by the installed Python interpreter.
If the module you are trying to import is not found in any of the directories defined in sys.path, you will
encounter "Import Error: No module named XXXXX" error. The error can occur either because the module
is indeed missing on your system, or because the sys.path does not point to the directory where the
module is installed. In the latter case, you need to let the Python interpreter know where the module is
found. Here is how to change sys.path of your Python interpreter.
Method One
The first method is explicitly change sys.path in your Python program.
You can check the content of the current sys.path as follows.
Once you find that sys.path does not contain the necessary module directory (e.g.,
/custom/path/to/modules), you can incorporate the directory by adding the following lines before the import
statement.
Method Two
Alternatively, you can add the custom module directory in PYTHONPATH environment variable, which will
augment the default module search paths used by the Python interpreter.
Add the following line to ~/.bashrc, which will have the effect of changing sys.path in Python permanently.
The specified path will be added to sys.path after the current working directory, but before the default
This article was originally published at Ask Xmodulo under the Creative Commons Attribution-ShareAlike 3.0 Unported
License.
Ask Xmodulo
Find answers to commonly asked Linux questions
http://ask.xmodulo.com
interpreter-supplied paths.
If you want to change PYTHONPATH variable temporarily, you can use the following command instead.
$ PYTHONPATH=$PYTHONPATH:/custom/path/to/modules python
This article was originally published at Ask Xmodulo under the Creative Commons Attribution-ShareAlike 3.0 Unported
License.
Powered by TCPDF (www.tcpdf.org)