Python имеет список путей (каталогов / папок), в которых он ищет модули для импорта.Вы можете увидеть список, выполнив:
>>> import sys
>>> sys.path
['', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/usr/lib/python3.7/site-packages']
Если вы устанавливаете модуль с помощью менеджера пакетов вашей системы, он должен попасть в один из этих путей.Если вы хотите, чтобы Python выполнял поиск в другом месте, вы можете добавить в этот список через системную переменную среды PYTHONPATH
.
$ export PYTHONPATH=/etc/python/whyhere/
$ python
>>> import sys
>>> sys.path
['', '/etc/python/whyhere', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/usr/lib/python3.7/site-packages']
или
$ PYTHONPATH=/etc/python/whyhere/ python
>>> ...
Лучшее, что можно сделатьУбедитесь, что модуль установлен правильно по «правильному» пути.Если это невозможно, смените PYTHONPATH.Грязный подход заключается в прямом добавлении к sys.path
, то есть sys.path.append('/etc/mypath')
, но это не очень чисто.