VS Code Selalu Kembali ke Python 3.9.6 dan Tidak Mau Ganti Interpreter (macOS) — Analisis & Solusi
VS Code Selalu Kembali ke Python 3.9.6 dan Tidak Mau Ganti Interpreter (macOS) — Analisis & Solusi
Gejala
Awalnya semua berjalan normal. Kemudian tiba-tiba:
- VS Code selalu menggunakan Python 3.9.6.
- Saat memilih interpreter lain (Python 3.14.3 Homebrew), VS Code tidak berpindah.
- Extension Python dan Pylance sudah di-uninstall/install ulang, tetapi masalah tetap terjadi.
- Library Pillow (PIL) sudah terinstall, tetapi Pylance tetap menampilkan:
Import "PIL" could not be resolved
Status bar VS Code selalu menunjukkan:
Python 3.9.6
Padahal di terminal:
which python3
menghasilkan:
/opt/homebrew/bin/python3
dan:
python3 --version
menghasilkan:
Python 3.14.3
Investigasi
1. Memastikan Python aktif di Terminal
Verifikasi interpreter yang digunakan terminal:
which python3 python3 --version
Hasil:
/opt/homebrew/bin/python3 Python 3.14.3
Kesimpulan:
- Python sistem bukan yang digunakan terminal.
- Python Homebrew (3.14.3) berjalan normal.
2. Memastikan Pillow Terinstall
Awalnya:
python3 -m pip show pillow
menghasilkan:
WARNING: Package(s) not found: pillow
Lalu mencoba:
/opt/homebrew/bin/python3 -m pip install Pillow
muncul error:
externally-managed-environment
Ini disebabkan oleh PEP 668 pada Python Homebrew.
Solusi:
/opt/homebrew/bin/python3 -m pip install Pillow --break-system-packages
Verifikasi:
/opt/homebrew/bin/python3 -c "from PIL import Image; print('OK')"
Hasil:
OK
Kesimpulan:
- Pillow berhasil terinstall.
- Error bukan berasal dari Pillow.
3. Memeriksa Interpreter yang Digunakan VS Code
Melihat log:
Python: Show Output
Ditemukan:
Active interpreter: /Library/Developer/CommandLineTools/usr/bin/python3
Verifikasi:
/usr/bin/python3 --version
Hasil:
Python 3.9.6
dan:
/Library/Developer/CommandLineTools/usr/bin/python3 --version
Hasil:
Python 3.9.6
Kesimpulan:
VS Code memang benar-benar menggunakan Python 3.9.6.
4. Memastikan Workspace Tidak Mengunci Interpreter
Mencari file konfigurasi:
find . -name settings.json
Tidak ditemukan:
(no output)
Kesimpulan:
- Tidak ada .vscode/settings.json.
- Workspace bukan penyebabnya.
5. Memeriksa User Settings
Ditemukan:
{
"python.defaultInterpreterPath": "/usr/local/bin/python3"
}
Sudah diubah menjadi:
{
"python.defaultInterpreterPath": "/opt/homebrew/bin/python3"
}
Tetapi masalah tetap muncul.
Kesimpulan:
Bukan berasal dari settings.json.
6. Menemukan Akar Masalah Sebenarnya
Menjalankan:
grep -R "CommandLineTools/usr/bin/python3" \ ~/Library/Application\ Support/Code/User
Hasil:
workspaceStorage/.../state.vscdb globalStorage/state.vscdb
Ditemukan referensi interpreter lama di:
workspaceStorage globalStorage
Kesimpulan:
VS Code menyimpan interpreter Python lama di cache database internal.
Akar Masalah
Akar masalah bukan:
- Python Homebrew
- Pillow
- Workspace
- Extension Python
- Pylance
Melainkan:
Cache interpreter VS Code yang tersimpan pada workspaceStorage dan globalStorage masih menunjuk ke Python 3.9.6.
VS Code terus memulihkan interpreter lama dari cache meskipun setting telah diubah.
Solusi
1. Tutup VS Code Sepenuhnya
Cmd + Q
2. Hapus Cache Workspace
rm -rf ~/Library/Application\ Support/Code/User/workspaceStorage/*
3. Hapus Cache Python Extension
rm -rf ~/Library/Application\ Support/Code/User/globalStorage/ms-python.python rm -rf ~/Library/Application\ Support/Code/User/globalStorage/ms-python.vscode-python-envs
4. Perbaiki Interpreter Default
Edit:
~/Library/Application Support/Code/User/settings.json
Pastikan:
{
"python.defaultInterpreterPath": "/opt/homebrew/bin/python3"
}
atau hapus seluruh setting tersebut.
5. Buka Ulang VS Code
Buka folder project kembali.
6. Pilih Interpreter Secara Manual
Command Palette:
Python: Select Interpreter
Pilih:
Python 3.14.3 /opt/homebrew/bin/python3
atau:
Enter Interpreter Path...
isi:
/opt/homebrew/bin/python3
7. Verifikasi
Buka:
Python: Show Output
Pastikan berubah menjadi:
Active interpreter: /opt/homebrew/bin/python3
Pelajaran Penting
Ketika VS Code terlihat "keras kepala" dan selalu kembali ke interpreter lama:
- Jangan langsung menyalahkan Python.
- Jangan langsung menghapus Python sistem.
- Periksa Output Python terlebih dahulu.
- Periksa workspaceStorage dan globalStorage.
- Interpreter lama sering tersimpan di cache database VS Code (state.vscdb).
Dalam kasus ini, Python 3.14.3 dan Pillow sebenarnya sudah berfungsi dengan baik. Yang bermasalah hanyalah cache interpreter VS Code yang masih menunjuk ke Python 3.9.6.