0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python-install-manager(py.exe) でインストールしたPythonで、VSCodeのオートコンプリートが動かない件

0
Last updated at Posted at 2025-12-28

はじめに

  • Python 3.14をインストールしようとしたら、従来のランチャーではなく最新のpython-install-manager(python-manager-25.2.msix)を使ってのインストールが推奨されていました。この方法でインストールをしたときのVSCode連携で少し手間取ったので、同じ問題で困っている方の参考になれば幸いです。
    PowerShellでは問題なく動くのに、VSCodeでオートコンプリートが全く効かない...。設定をいくら見直しても動かず、数時間格闘した結果、おそらくWindows特有の罠にハマっていたことが判明したという経緯です。
    pythonは一応実行できるんですけど、オートコンプリートでメソッドの入力候補がでてくれないと地味につらいんですよね(-_-;)

1.問題の症状

  • 環境
    OS: Windows 11
    Python: 3.14.2(python-manager-25.2.msix経由でインストール)
    VSCode: November 2025 (version 1.107)
    Python拡張: v2025.20.1
    Pylance: v2025.10.4

  • 症状
    python-manager-25.2.msixでpythonインストール(py install 3.14)後、py --versionでPython 3.14.2が表示され、PowerShellでは正常に動作した
    しかし、VSCodeでPythonファイル(.py)を開いても、オートコンプリートが一切機能しない
  • import osと書いてos.と入力しても、メソッドの候補が全く表示されない
  • VSCodeの設定でインタープリターは認識されている様子
  • .vscode/settings.jsonpython.defaultInterpreterPathを設定しても効果なし

2.原因

  • 根本原因
    WindowsAppsのPythonエイリアスが邪魔をしていたと考えられます
    PowerShellで以下のコマンドを実行すると、原因が判明します
powershell
> where.exe python

出力結果:

powershell
C:\Users\<ユーザー名>\AppData\Local\Microsoft\WindowsApps\python.exe
C:\Users\<ユーザー名>\AppData\Local\Python\bin\python.exe

このコマンドで、複数のPythonが見つかりましたが、最初のWindowsApps\python.exeがおそらくよくなくて、
このファイルは**0KBのエイリアス(リダイレクター)**で、Pythonがインストールされていないユーザーに対してMicrosoft Storeへ誘導するためのWindowsの機能であり実体がないため、VSCodeのPylanceがこれを掴んでしまうと、Pythonの標準ライブラリやモジュール情報を読み込めず、オートコンプリートが機能しないといったことが原因と考えらます

  • なぜこんなことが起きるのか?(生成AIの回答)

C:\Users<ユーザー名>\AppData\Local\Microsoft\WindowsAppsはデフォルトで環境変数PATHの上位に配置されている
python-managerでインストールしても、この優先順位は変わらない
VSCodeが最初に見つけたpython.exe(実体のないエイリアス)を掴んでしまうことが原因です

3.解決方法

手順1. Pythonの実体パスを確認

  • 環境変数PATHに実際のPythonパスを追加し、優先順位を調整します
py -c "import sys; print(sys.executable)"

出力例:

C:\Users\<ユーザー名>\AppData\Local\Python\pythoncore-3.14-64\python.exe

このパスをメモしておきます。

手順2. 環境変数を編集

  1. Windowsスタートバーでenvと検索して「環境変数を編集」をクリック」
  2. ユーザー環境変数の「Path」を選択して「編集」をクリック
  3. 「新規」をクリックして、以下メモしておいたパスを追加:
   C:\Users\<ユーザー名>\AppData\Local\Python\pythoncore-3.14-64
  1. 追加したパスを選択し、「上へ」ボタンでWindowsAppsより上に移動
  2. 「OK」で保存

手順3. 確認

  • PowerShellを再起動してから確認
powershell
> where.exe python

出力結果:

powershell
C:\Users\<ユーザー名>\AppData\Local\Python\pythoncore-3.14-64\python.exe
C:\Users\<ユーザー名>\AppData\Local\Microsoft\WindowsApps\python.exe
C:\Users\<ユーザー名>\AppData\Local\Python\bin\python.exe

pythoncore-3.14-64\python.exeが最初に表示されていればOK。

手順4. VSCodeで確認

  • VSCodeを完全に終了してから再度起動する
  • Pythonファイルで以下を入力:
python
import os
os.

os.の後にメソッドの候補(getcwd, path, environなど)が表示されれば成功!

※ 生成AIによるとエイリアスの完全無効化という方法もあるらしい

環境変数の順序変更の代わりに、エイリアス自体を無効化する方法もあります。
設定 → アプリ → アプリの実行エイリアス
「アプリインストーラー python.exe」と「アプリインストーラー python3.exe」をオフにする
PowerShellとVSCodeを再起動
この方法だと、WindowsAppsのエイリアスが完全に無効化されるため、よりクリーンな解決になります。

おわりに

Pythonをインストールして、VSCodeで開発を始めようとしただけなのに、Windowsの仕様に翻弄されて数時間も溶かしました。Microsoft Storeへの誘導機能は親切心なのでしょうが、他の方法でPythonをインストールした後も有効なままなのは設計として微妙ですね。
python-managerも、インストール時にこのエイリアスを自動で無効化するか、PATHの優先順位を自動調整してくれれば、こんな問題は起きなかったはずです。
モダンなツールが増えるのは良いことですが、ツール間の連携がうまくいかないと、結局ユーザーが苦労するという典型的な例でした。
同じ問題で困っている方の助けになれば幸いです。

メモ

最近のpipコマンドはpip install requests じゃなくて、py -m pip requests みたいに書くのね( ˘ω˘ )
あとは作業前にpy -m venv .venv みたいにして作業環境を分けとくのがたぶんよさげ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?