Permanently adding a file path to sys.path in Python
Solution 1:
There are a few ways. One of the simplest is to create a my-paths.pth
file (as described here). This is just a file with the extension .pth
that you put into your system site-packages
directory. On each line of the file you put one directory name, so you can put a line in there with /path/to/the/
and it will add that directory to the path.
You could also use the PYTHONPATH environment variable, which is like the system PATH variable but contains directories that will be added to sys.path
. See the documentation.
Note that no matter what you do, sys.path
contains directories not files. You can't "add a file to sys.path
". You always add its directory and then you can import the file.
Solution 2:
This way worked for me:
adding the path that you like:
export PYTHONPATH=$PYTHONPATH:/path/you/want/to/add
checking: you can run 'export' cmd and check the output or you can check it using this cmd:
python -c "import sys; print(sys.path)"
Solution 3:
Another way to approach this is by installing the file as a single module.
Create an installer file as below (named pysetup.py):
import setuptools
module_name = input("Enter module name: ")
setuptools.setup(
name=module_name,
py_modules=[module_name],
)
You can then install this installer using itself with python pysetup.py install
Then when prompted enter pysetup
.
Now to install any file you can type python -m pysetup install
then enter the name of the file. You can also replace install
with develop
to install in development mode and continue editing the file.