Import ErrorPythonpipvenv5 mnt baca
Mengatasi ModuleNotFoundError di Python
Python tidak menemukan package yang sudah kamu install. Hampir selalu soal interpreter atau virtual environment yang salah.
1 · Gejala & Log Pesan Error
error.log
Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'requests' // padahal kemarin: pip install requests → "Successfully installed"
2 · Akar Penyebab Masalah
Package Terpasang di Python yang Lain
Komputer bisa punya banyak Python: bawaan sistem, dari Microsoft Store, dari python.org, dari Anaconda, plus tiap virtual environment. pip install requests memasang ke satu interpreter, sedangkan python app.py mungkin memakai interpreter lain yang tidak punya package itu.
"Successfully installed" kemarin itu nyata, cuma tujuannya beda dengan yang menjalankan kodemu hari ini. Ini menjelaskan kenapa error-nya terasa acak: di satu terminal bisa, di terminal lain tidak, di VS Code tidak.
3 · Solusi & Diff Kode
✕ Sebelum (bermasalah)
before
# ❌ pip dan python dari dunia berbeda
$ pip install requests # masuk ke python A
$ python app.py # dijalankan python B → ModuleNotFoundError
$ which pip # /usr/bin/pip
$ which python # /home/user/.venv/bin/python ← beda!✓ Sesudah (diperbaiki)
after
# ✔ selalu pasangkan: python -m pip
$ python -m pip install requests # pasti masuk ke interpreter yang sama
$ python app.py # dengan python yang sama → aman
# ✔ pola proyek yang benar: virtual environment
$ python -m venv .venv
$ source .venv/bin/activate # Windows: .venv\Scripts\activate
(.venv) $ python -m pip install -r requirements.txtLangkah Perbaikan
- Samakan pip dan python: biasakan
python -m pip install ..., bukanpip install .... Sintaks ini menjamin package masuk ke interpreter yang sama dengan yang menjalankan kodemu. - Cek interpreter aktif:
which pythondanpython --version. Di VS Code, cek interpreter di pojok kanan bawah dan samakan dengan terminal. - Pakai virtual environment per proyek:
python -m venv .venv, aktifkan, lalu install di dalamnya. Setiap proyek punya dunianya sendiri, tidak saling mengotori. - Catat dependensi: simpan di
requirements.txt(python -m pip freeze > requirements.txt) agar orang lain (dan kamu 3 bulan lagi) bisa reproduce environment dengan satu perintah.