您确实需要发布一些代码以便我们能够帮助您。不过,我可以做出有根据的猜测。你说如果你创建一个全新的列表并将其分配给 sys.path 那么它就可以工作。我假设你的意思是你正在做这样的事情
sys.path = ["dir1", "dir2", ...]
但是,如果您在开头插入路径,则它不起作用。我的猜测是你正在使用插入方法,就像这样
sys.path.insert(0, ["dir1", "dir2"])
如果是这样,那么这是不正确的。这将创建一个看起来像这样的列表
[["dir1", "dir2"], "dir3", ...]
你应该说
sys.path[:0] = ["dir1", "dir2"]
这会给你
["dir1", "dir2", "dir3", ...]
但这都是猜测,直到您发布代码为止。