Skip to content Skip to sidebar Skip to footer

Why Is The First Element In Python's Sys.path An Empty String?

I noticed, when I launch python REPL and do: import sys print(sys.path) The first element of the list is an empty string. This only happens in the REPL.

Solution 1:

sys.path[0] is an entry created by the Python executable to refer to the directory of the script being run. If no script is being run, e.g. the REPL has been invoked directly, an empty entry representing the current directory is added.


Solution 2:

the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter.

If the script directory is not available (e.g. if the interpreter is invoked interactively or if the script is read from standard input), path[0] is the empty string, which directs Python to search modules in the current directory first.

As per documentation here


Solution 3:

From the docs

If the script directory is not available (e.g. if the interpreter is invoked interactively or if the script is read from standard input), path[0] is the empty string

So, when you're using python through the command line, there is no script being used so the first element is represented as an empty string.


Post a Comment for "Why Is The First Element In Python's Sys.path An Empty String?"