Problem :
$ sudo python3 -c "import sys; import board; print(board.__file__)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'board'
Without sudo :
$ python3 -c "import sys; print(sys.path)"
['',
'/usr/lib/python39.zip',
'/usr/lib/python3.9',
'/usr/lib/python3.9/lib-dynload',
'/home/francois/.local/lib/python3.9/site-packages',
'/usr/local/lib/python3.9/dist-packages',
'/usr/lib/python3/dist-packages',
'/usr/lib/python3.9/dist-packages']
With sudo, the user's packages are not included :
$ sudo python3 -c "import sys; print(sys.path)"
['',
'/usr/lib/python39.zip',
'/usr/lib/python3.9',
'/usr/lib/python3.9/lib-dynload',
'/usr/local/lib/python3.9/dist-packages',
'/usr/lib/python3/dist-packages',
'/usr/lib/python3.9/dist-packages']
Solution :
Use -E
option with sudo
:
$ sudo -E python3 -c "import sys; import board; print(board.__file__)"
/home/francois/.local/lib/python3.9/site-packages/board.py