Вам действительно нужно опубликовать код, чтобы мы могли вам помочь. Тем не менее, я могу сделать обоснованное предположение. Вы говорите, что если вы создаете новый список и назначаете его для sys.path, то это работает. Я полагаю, вы имеете в виду, что вы делаете что-то вроде этого
sys.path = ["dir1", "dir2", ...]
Но если вы вставите пути в начале, это не сработает. Я предполагаю, что вы используете метод вставки, например
sys.path.insert(0, ["dir1", "dir2"])
Если так, то это неверно. Это создаст список, который выглядит как
[["dir1", "dir2"], "dir3", ...]
Вы должны вместо этого сказать
sys.path[:0] = ["dir1", "dir2"]
что даст вам
["dir1", "dir2", "dir3", ...]
Но это все догадки, пока вы не отправите свой код.