I was tired of manually figuring out which of my pip-installed packages need to be updated while excluding the conda ones, so I just created a tool that takes care of this. You fire pip-select, and it will check which of your pip packages can be updated while excluding the ones managed by conda, with a nice progress bar:
Conda environment detected at: /home/user/miniconda3/envs/myenv
Detected 84 pip-installed packages (excluded 141 conda-installed).
Checking 84 packages [████████████████████████████░░] 87%
It will present a menu where you can select which packages to update:
SPACE=toggle ↑/↓/PgUp/PgDn=move Home/End=jump a=all n=none Enter=upg q=quit Selected: 3/84
[ ] aiohttp 3.13.2 -> 3.13.3
[ ] beartype 0.14.1 -> 0.22.9
[x] datasets 4.4.2 -> 4.5.0
[ ] dill 0.4.0 -> 0.4.1
[ ] dol 0.3.37 -> 0.3.38
[x] numpy 1.24.0 -> 2.0.0
[x] pandas 2.0.0 -> 2.2.0
[ ] requests 2.28.0 -> 2.31.0
And that's it. You can keep updating your conda packages as you usually do. pip-select will take care of the pip ones.
If you find this interesting, beta-testers are welcome. Just be sure to duplicate your conda environment before using pip-select.