uv's Windows launchers in ~/.local/bin are reported as duplicate global Pythons
メンテナーはふだん 1 日以内に返信
評価
この issue はまだ評価されていません。
説明
Problem: On Windows, uv python install creates launcher executables (python.exe, python3.exe, python3.13.exe) in ~/.local/bin, which uv puts on PATH. PET reports each launcher as a separate GlobalPaths environment in addition to the Uv installation they launch, so a single interpreter appears four times in VS Code's environment list and picker.
The launchers are trampolines, not symlinks. When PET spawns one, it reports uv's minor-version junction (%APPDATA%\uv\python\cpython-3.13-windows-x86_64-none) as sys.prefix. Uv::try_from_managed_install only looked at the executable path and returned None for junction prefixes, so the launchers fell through to GlobalPaths.
> pet find --json (uv's ~/.local/bin on PATH)
Uv 3.13.15 %APPDATA%\uv\python\cpython-3.13.15-windows-x86_64-none\python.exe
GlobalPaths 3.13.15.final.0 %USERPROFILE%\.local\bin\python.exe
GlobalPaths 3.13.15.final.0 %USERPROFILE%\.local\bin\python3.13.exe
GlobalPaths 3.13.15.final.0 %USERPROFILE%\.local\bin\python3.exe
Environment: Windows 11, PET main @ 4ca7c03, uv 0.12.17, CPython 3.13.15 via uv python install 3.13 --default.
Before (VS Code):

Related: MSYS2 (microsoft/vscode-python-environments#1876) and the python.org Python Install Manager (%LOCALAPPDATA%\Python\bin aliases) are other Windows launchers that PET does not group with the installation they start; Windows find_symlinks is still a stub.
Steps to verify fix:
- On Windows, install uv and run
uv python install 3.13 --defaultsopython.exe,python3.exe, andpython3.13.exeexist in%USERPROFILE%\.local\bin, with that folder onPATH. - Run
pet find --json; verify a single environment: kindUv,%APPDATA%\uv\python\cpython-3.13.x-…\python.exe. - Run
pet resolve %USERPROFILE%\.local\bin\python3.13.exe --json; verify it returns that sameUvenvironment. - In VS Code (with microsoft/vscode-python-environments#1877), verify the interpreter appears once, under Global.
- Remove
~/.local/binfromPATHand rerunpet find; verify theUvenvironment is still reported.
Found by Copilot
- 主要言語
- Rust
- スター
- 207
- フォーク
- 45
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 18
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/python-environment-tools のほかの issue
-
pet server logs warnings as ANSI-colored stderr, shown as errors対応中かも @karthiknadig が 2 日前に担当しました。 オープンbug
microsoft/python-environment-tools#571 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Free-threaded python3.13t interpreters are not discovered on Linux対応中かも @karthiknadig が 2 日前に担当しました。 オープンbug
microsoft/python-environment-tools#569 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
microsoft/python-environment-tools#537 ·
メンテナーはふだん 1 日以内に返信
-
debt
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
microsoft/python-environment-tools#538 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
microsoft/python-environment-tools#539 ·
メンテナーはふだん 1 日以内に返信
microsoft/python-environment-tools の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
Update dusk-bls12_381 to 0.16対応中かも @HDauven が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
`TcpListenerService` shares one `Extensions` store across all accepted connections対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
googlefonts/fontquant#43 ·