You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过subprocess.run()执行pip install字符串命令且不报FileNotFoundError?

问题原因

subprocess.run 默认不会通过系统shell解析命令,你传入整段命令字符串时,程序会把完整的字符串当成一个可执行文件的路径去查找,自然找不到对应文件,就会抛出FileNotFoundError。

解决方法

只要给subprocess.run添加shell=True参数,就能直接传入字符串形式的命令执行,写法如下:

  • 安装单个模块:
subprocess.run('pip install module_name', shell=True)
  • 从requirements文件批量安装:
subprocess.run('pip install -r requirements.txt', shell=True)
注意事项
  • 安全提醒:如果你要执行的命令字符串包含用户可控的输入内容,开启shell=True会存在shell注入安全风险,仅当命令内容完全由你自己可控时推荐使用该方案。
  • 为了避免调用的pip和当前运行脚本的Python环境不匹配,更推荐的写法是调用当前Python环境内置的pip:
import sys
import subprocess

# 单个模块安装
subprocess.run(f'{sys.executable} -m pip install module_name', shell=True)
# 批量安装
subprocess.run(f'{sys.executable} -m pip install -r requirements.txt', shell=True)

内容的提问来源于stack exchange,提问作者KZiovas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:24:05