@@ -252,28 +252,29 @@ shell::removal_python_deps() {
252
252
}
253
253
254
254
uninstall_all_pip_packages () {
255
- local pip_cmds=(" pip" " pip3" )
255
+ echo " This will uninstall ALL pip and pip3 packages. Are you sure? (y/n)"
256
+ read confirmation
257
+ if [[ $confirmation == " y" || $confirmation == " Y" ]]; then
258
+ echo " Uninstalling pip packages..."
256
259
257
- for pip_cmd in " ${pip_cmds[@]} " ; do
258
- if command -v " $pip_cmd " > /dev/null 2>&1 ; then
259
- echo " Using $pip_cmd ..."
260
- # List installed packages, extract package names (cut at the '==' separator)
261
- packages=$( " $pip_cmd " freeze | awk -F' ==' ' {print $1}' )
260
+ # For pip (Python 2)
261
+ if command -v pip & > /dev/null; then
262
+ pip freeze | grep -v " ^-e" | xargs pip uninstall -y
263
+ echo " All pip packages have been uninstalled."
264
+ else
265
+ echo " pip is not installed."
266
+ fi
262
267
263
- if [ -z " $packages " ]; then
264
- echo " No packages found for $pip_cmd ."
265
- else
266
- for package in $packages ; do
267
- # Some lines could be empty; skip them.
268
- [ -z " $package " ] && continue
269
- echo " Uninstalling $package using $pip_cmd ..."
270
- " $pip_cmd " uninstall -y " $package "
271
- done
272
- fi
268
+ # For pip3 (Python 3)
269
+ if command -v pip3 & > /dev/null; then
270
+ pip3 freeze | grep -v " ^-e" | xargs pip3 uninstall -y
271
+ echo " All pip3 packages have been uninstalled."
273
272
else
274
- echo " $pip_cmd is not installed or not found. Skipping ."
273
+ echo " pip3 is not installed."
275
274
fi
276
- done
277
275
278
- echo " All pip-installed packages have been removed (if they were found)."
276
+ echo " Operation completed."
277
+ else
278
+ echo " Operation canceled."
279
+ fi
279
280
}
0 commit comments