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

使用subprocess调用Python文件时第三方模块导入失败求助

解决subprocess调用Python文件时第三方库找不到的问题

出现No module named 'requests'的核心原因是subprocess调用的Python解释器和你安装第三方库的解释器不是同一个——subprocess会启动全新的Python进程,和主文件里是否导入requests没有关联。

以下是几种可行的解决方法:

  • 使用当前脚本的Python解释器路径
    直接通过sys.executable获取主脚本正在使用的Python解释器路径,确保子进程和主进程共用同一个环境:

    import subprocess
    import sys
    subprocess.call([sys.executable, 'exchange.py'])
    
  • 手动指定正确的Python解释器
    先定位到安装了requests的Python路径:

    • Linux/macOS终端执行:which python3(如果用pip3安装的库)
    • Windows命令行执行:where python
      把获取到的路径替换到调用命令中,示例:
    subprocess.call(['/usr/local/bin/python3', 'exchange.py'])
    
  • 检查虚拟环境状态
    如果主脚本在虚拟环境中运行,确保虚拟环境处于激活状态,或者直接使用虚拟环境目录下的Python解释器路径(比如venv/bin/python)。

  • 验证库的安装位置
    分别执行python -m pip list和python3 -m pip list,查看哪个列表里包含requests,对应使用该版本的Python来调用脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 08:42:35