Skip to content

"Python: Locator" = "native" resolves Windows symlinks, causing problems. #186

Description

@Boon-in-Oz

My Python executable and most of the packages I work on are physically located on drive S:, but are mapped to a location on my C:\ drive using a Windows junction. Thus I open a workspace using a path that starts with C:\ and everything I see starts with C:, even though all the files I work on are physically on my S:\ drive.

With "Python: Locator" = "js", this is fine. I have this line of in VS Code's Python output:

[info] Python interpreter path: c:<my workspace location>/../python3.10.11/python.exe

With "Python: Locator" = "native" however, VS Code's Python extension resolves not only the .. in the path but also the junction to its physical location on the S:\ drive. I now have this in the Python output:

[info] Python interpreter path: S:<resolved location>\python3.10.11\python.exe

VS Code shows (in the tooltip in the bottom right) the Python exe being in the S:\ drive location. If I choose a new Python interpreter, the interpreter location is shown as being in the C:\ drive but when I choose it, it's resolved to the S:\ drive again.

Specifically in my case this results in dlls being loaded from the wrong location, that then try to manipulate files using a path that is outside the "blessed" location for my workplace, and things fail in unexpected ways.

Thanks for your time. I hope that's enough to go on.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugIssue identified by VS Code Team member as probable buginfo-neededIssue requires more information from posterverifiedVerification succeeded

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions