В одном проекте я хотел убедиться, что пользователь может размещать скрипты Python (которые в основном могут быть использованы в качестве плагинов) где угодно. Мое решение состояло в том, чтобы поместить следующее в файл конфигурации для этого проекта:
[server]
PYPATH_APPEND: /home/jason:/usr/share/some_directory
Таким образом, это добавит / home / jason и / usr / share / some_directory к пути python при запуске программы.
Тогда вам просто нужно разделить строку двоеточиями и добавить эти каталоги в конец sys.path. Возможно, вы захотите поместить модуль в каталог site-packages, который содержит функцию для чтения в этом конфигурационном файле и добавить эти каталоги в sys.path (к сожалению, на данный момент у меня нет времени написать пример) .
Как уже упоминали другие, было бы неплохо поместить как можно больше в пакеты сайтов, а также использовать файлы .pth. Но это может быть хорошей идеей, если у вас есть скрипт, который должен импортировать кучу вещей, которых нет в пакетах сайтов, которые вы не хотите импортировать из других скриптов.
(может также быть способ сделать это с помощью файлов .pth, но мне нравится возможность манипулировать путем к питону там же, где я размещаю остальную информацию о моей конфигурации)