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

Web2Py无法导入requests模块求助:Python环境可正常访问该模块

排查步骤

1. 彻底清理web2py及Python编译缓存

web2py会自动编译py文件生成pyc缓存,Python也会生成__pycache__目录,直接清理所有相关缓存:

  • 进入web2py根目录执行:
    rm -rf applications/*/cache/*.pyc
    rm -rf cache/*.pyc
    find . -name "__pycache__" -type d -exec rm -rf {} +
    

2. 确认web2py使用的Python解释器

检查虚拟环境的Python路径,确保web2py调用的是虚拟环境内的解释器:

  • 在pipenv shell中执行which python,得到虚拟环境的Python绝对路径(比如/home/user/.local/share/virtualenvs/xxx/bin/python)
  • 修改web2py启动脚本web2py.py的第一行,替换为上述绝对路径:
    #!/home/user/.local/share/virtualenvs/xxx/bin/python
    

3. 验证web2py的sys.path配置

在web2py交互环境中直接查看路径列表,确认虚拟环境site-packages是否存在:

  • 启动web2py交互环境后执行:
    import sys
    print(sys.path)
    
  • 如果未找到虚拟环境site-packages路径,手动添加测试:
    import sys
    sys.path.insert(0, "/home/user/.local/share/virtualenvs/xxx/lib/python3.7/site-packages")
    import requests  # 验证是否还报错
    

4. 重新安装依赖到虚拟环境

强制在虚拟环境内重新安装依赖,避免全局安装干扰:

  • 在pipenv shell中执行:
    pip install requests msal
    
  • 执行pip freeze确认requests和msal出现在依赖列表中。

5. 关闭web2py沙箱模式

web2py默认沙箱机制可能限制模块导入,尝试关闭沙箱启动:

python web2py.py --no-sandbox

6. 排查应用私有目录干扰

暂时移走applications/[你的应用名]/private目录下的所有py文件,测试是否是自定义代码干扰了模块导入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 00:48:09