实现目标的最简单方法:
pip freeze | ForEach-Object { pip install --upgrade $_ }
每个输出线来自
pip freeze
通过管道
ForEach-Object
脚本块调用
pip install --upgrade
对于每个(
$_
)。
至于
你尝试了什么
:
pip install --upgrade Get-Content requirements.txt # !! BROKEN
Get-Content
和
requirements.txt
只是将其他参数传递给
pip
,这解释了您看到的错误消息。
pip公司
-无
-r
-仅接受
一
一次打包(需求说明符),所以
pip install --upgrade (Get-Content requirements.txt)
将
不
工作正常(本应通过文件行
要求。txt文件
像
单个参数
)。
具有
-r
一
文件名
参数是必需的,因此您可以尝试:
pip install --upgrade -r requirements.txt
请注意,自Windows PowerShell v5.1/PowerShell Core v6.0.2起,PowerShell
不
支持Bash风格的进程替换,其中命令的输出可以作为瞬态
文件
:
pip install --upgrade -r <(pip freeze) # !! WISHFUL THINKING - does NOT work yet
然而
feature is being considered
。