2acb3071cade6395c1dbcee31b6b8d198ebed66a
- Author
- WH-2099 <wh2099@outlook.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
fix(pip): don't overwrite `requirements.txt` in internal commands (#10061)
Diff
1diff --git a/plugins/pip/pip.plugin.zsh b/plugins/pip/pip.plugin.zsh
2index a58f5704afaedcddacdcc40241fefe32a42c0d7f..7eb2d2a35730d12705406ef9c376971cc01be34b 100644
3--- a/plugins/pip/pip.plugin.zsh
4+++ b/plugins/pip/pip.plugin.zsh
5@@ -91,11 +91,21 @@ fi
6 # Create requirements file
7 alias pipreq="pip freeze > requirements.txt"
8
9-# Update all installed packages
10-alias pipupall="pipreq && sed -i 's/==/>=/g' requirements.txt && pip install -r requirements.txt --upgrade && rm -rf requirements.txt"
11-
12 # Install packages from requirements file
13 alias pipir="pip install -r requirements.txt"
14
15+# Update all installed packages
16+function pipupall {
17+ # non-GNU xargs does not support nor need `--no-run-if-empty`
18+ local xargs="xargs --no-run-if-empty"
19+ xargs --version 2>/dev/null | grep -q GNU || xargs="xargs"
20+ pip list --outdated --format freeze | cut -d= -f1 | ${=xargs} pip install --upgrade
21+}
22+
23 # Uninstalled all installed packages
24-alias pipunall="pipreq && pip uninstall -r requirements.txt -y && rm -rf requirements.txt"
25+function pipunall {
26+ # non-GNU xargs does not support nor need `--no-run-if-empty`
27+ local xargs="xargs --no-run-if-empty"
28+ xargs --version 2>/dev/null | grep -q GNU || xargs="xargs"
29+ pip list --format freeze | cut -d= -f1 | ${=xargs} pip uninstall
30+}