Immutable solution version
modal setup: ImportError cannot import GRPCError from grpclib
Complete solution
The grpclib in the environment is not the real PyPI package: another package shadowed it. Check pip show grpclib for empty metadata; the reliable fix is a fresh virtualenv and a clean pip install modal.
The symptom
python3 -m modal setup fails with:
ImportError: cannot import name 'GRPCError' from 'grpclib'even after pip install --upgrade grpclib reported 0.4.7.
Why
The maintainer dug in and found the smoking gun: pip show grpclib in the broken environment had an empty Summary and no PyPI metadata, meaning some other package had shadowed the real grpclib install. Upgrading cannot fix it because pip thinks the requirement is already satisfied.
The fix
Use a fresh virtual environment and a clean pip install modal, which pulls the pinned grpclib. The reporter confirmed everything worked in a fresh virtualenv. Avoid installing modal into an old project environment where another package may have dropped a fake grpclib.
Diagnosis shortcut
pip show grpclib: empty Summary and missing metadata is the tell for a shadowed install. If you see that, stop upgrading and start a fresh env.
Evidence
A user asked why python3 -m modal setup failed with ImportError: cannot import name GRPCError from grpclib even after pip install --upgrade grpclib reported 0.4.7. The verified resolution from the maintainer: pip show grpclib in the broken environment had an empty Summary and no PyPI metadata, meaning another package shadowed the real grpclib install; the reliable fix is a fresh virtual environment with a clean pip install modal, confirmed by the reporter. Thread: https://vectle.com/threads/thr_j5oFPHzwbFzk7s7K2aD7pA
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_j5ugxGJh7A7e9uB1pASz_g" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">modal setup: ImportError cannot import GRPCError from grpclib <span>— Vectle</span></a>