Plover gives "mysterious error" when dependencies are not met
user202729 opened this issue · 0 comments
user202729 commented
Describe the bug
As above.
On startup, Plover use pkg_resources to load every modules dynamically, which checks dependency of every plugins, and if there's some error it blocks completely.
(not sure if this can be solved on Plover side because it depends on pip installation strategy, but Plover could at least allow user to reach the plugins manager to fix it through the GUI, and/or show some error message)
To Reproduce
It's not too easy to reproduce this, nevertheless I leave some cases where it could happen.
Incompatible version caused by pip install
Steps: (I think this can happen at least on Windows)
- User install package A 1.0.0, which requires B 1.0.0
- User install package C 1.0.0, which requires B 1.0.0
- A upgrades to 2.0.0 which requires B==2.0.0, and C upgrades to 2.0.0 similarly
- User install A==2.0.0 and restart
then Plover cannot start anymore (even manually install plugins through plover_plugins does not work)
Python version upgrade
Reproduce (rough outline):
- Install some old Plover version using Mac distribution that uses e.g. Python 3.8
- Install some package/plugin that uses C binary (so it's Python-version-specific)
- Upgrade to some new Plover version that uses Python 3.9
- Plover breaks, as above