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.

You can find pip-select here.

If you find this interesting, beta-testers are welcome. Just be sure to duplicate your conda environment before using pip-select.