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

Windows下Apache+mod_wsgi运行Flask时dateutil模块找不到错误

排查步骤
  • 验证Apache使用的Python路径
    在你的server.wsgi文件开头添加以下代码:

    import sys
    import traceback
    try:
        import dateutil
        print("dateutil found at:", dateutil.__file__)
    except ImportError:
        print("sys.path content:", sys.path)
        traceback.print_exc()
    

    重启Apache后,查看Apache的错误日志(通常在Apache安装目录的logs/error.log),检查输出的sys.path是否包含你的全局Python的site-packages路径(即C:\python\python_3.11.4_64bit\Lib\site-packages)。如果该路径不在列表中,需要在Apache配置的<VirtualHost>块内添加:

    WSGIPythonPath "C:\python\python_3.11.4_64bit\Lib\site-packages"
    
  • 检查Apache运行账户的文件权限
    Windows下Apache默认以Local System或Network Service账户运行,需确保该账户对C:\python\python_3.11.4_64bit\Lib\site-packages目录有读取权限:

    1. 右键该目录,选择「属性」→「安全」标签
    2. 点击「编辑」,添加Apache运行账户(如NT AUTHORITY\SYSTEM或NT AUTHORITY\NETWORK SERVICE)
    3. 给该账户分配「读取和执行」「列出文件夹内容」「读取」权限,保存设置
  • 确认mod_wsgi与Python、Apache的兼容性
    确保你使用的mod_wsgi版本是针对Python 3.11.4 64位、VS17编译的:

    1. 卸载现有mod_wsgi:pip uninstall mod_wsgi
    2. 重新安装对应版本:使用pip install mod_wsgi(会自动匹配当前Python环境),或者从官方渠道下载对应VS17编译的预编译包
  • 验证全局Python环境的包安装路径
    打开命令提示符,执行以下命令:

    C:\python\python_3.11.4_64bit\python.exe -m pip show python-dateutil
    

    查看输出的Location字段,确认其指向C:\python\python_3.11.4_64bit\Lib\site-packages。如果路径不符,说明包安装到了其他Python环境,需用上述全局Python的pip重新安装:

    C:\python\python_3.11.4_64bit\python.exe -m pip install --upgrade python-dateutil pandas
    
  • 尝试以管理员身份启动Apache
    右键Apache的httpd.exe,选择「以管理员身份运行」,测试是否仍出现模块找不到的错误。Windows下非管理员权限可能导致无法访问某些系统目录下的Python包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 19:55:25