Я внес некоторые изменения в модуль python в извлеченную копию репозитория и вам нужно их протестировать. Однако, когда я пытаюсь запустить скрипт, который использует этот модуль, он сохраняет импорт модуля из сундука репозитория, что бесполезно для меня.Как сделать Python выбрать правильный модуль без ручной модификации sys.path?
Я попытался установить PYTHONPATH, который ничего не сделал. После некоторого поиска, я обнаружил, что что-либо в файлах .pth в каталоге site-packages будет помещено даже до PYTHONPATH (что для меня поражает цель его наличия). Я считаю, что это причина того, что мой модуль не будет выбран.
Правильно ли я? Если да, то каков способ переопределить это (без изменения сценария, чтобы иметь sys.path.insert(0,path)
)?
Редактировать: В ответ на NicDumz - исходный репозиторий находился под /projects/spam
. Модули python были частью этого в /projects/spam/sources/python/a/b/
. Тем не менее, они «строятся» каждую ночь, используя вариант доморощенного макета, который затем помещает их в /projects/spam/build/lib/python/a/b/
. Сценарий использует модуль только для этого последнего пути.
Я проверил весь репозиторий до /home/sundar/spam
и внесла изменения в /home/sundar/spam/sources/python/a/b/mymodule.py
. Я установил свой PYTHONPATH в /home/sundar/spam/sources/python
и попытался сделать import a.b.mymodule
без успеха.
Я думаю, что остроумие было бы проще с более длинным описанием вашей среды. Где установлен модуль соединительной линии? Как он был установлен? И затем, для вашей копии, вы только скопировали небольшой подмодуль или все дерево? где он был помещен? и т. д. – NicDumZ