Модули
Python могут быть чистыми Python (.py файлами) или двоичными файлами lib (.so для linux, .dll для Windows), так что скорее всего модуль, который вы ищете, "TheModuleInQuestion.dll".
wrt / "отладка процесса импорта с помощью pdb", вы не сможете здесь многое сделать, я боюсь - pdb работает только с чистым кодом python, и вся система импорта встроена ( часть времени выполнения python .exe).
Тем не менее вы можете ответить на два вопроса:
порядок поиска папок
Это sys.path
, довольно просто. Это точно , что он определяет: порядок поиска папок. Кстати, тот факт, что он не содержит «никаких репо-спецификаций c foldernames», является нормальным и ожидаемым.
и путь импортированного модуля во втором репо
go ко второй папке репо, откройте оболочку python и введите
>>> import TheModuleInQuestion
>>> print(TheModuleInQuestion)
Теперь, если оба локальных репозитория являются клонами одного и того же удаленного узла и находятся в одной и той же ветви (у них одна и та же ревизия?), Между ними не должно быть большого различия. Я не знаю, какие инструменты сравнения доступны на Windows, но первое, что я здесь сделал бы, - это разложу репо.
Если из этого не выйдет ничего очевидного, я бы тогда проверил разрешения для файлов и папок (особенно для этих файлов "TheModuleInQuestion.xxx", конечно, но также и для всего пути, ведущего к нему).
И, наконец, - если бы больше ничего не решило проблему - я бы сделал 3-е клонирование репозитория и проверил бы его (в конце концов, проверяя различные ревизии). файлы часто хорошая идея. Я не думаю, что это что-то решит в вашем случае (если TheModuleInQuestion - это dll ...), но это все еще хорошая идея - иногда удаленный файл .py оставляет устаревшие .py c и тогда все ставки выключены; -)