You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用XAMPP(Apache)运行Python脚本时导入Numpy遇DLL加载失败错误求助

解决XAMPP Apache运行Python脚本时Numpy导入DLL错误的思路

这个报错本质是Apache的运行环境没找到Numpy依赖的MKL相关动态链接库,或者Anaconda的Python环境没被Apache正确识别。给你几个实用的排查和解决方向:

  • 调整系统环境变量,确保Apache能读取Anaconda路径
    Apache作为服务运行时,使用的环境变量和你登录用户的环境变量可能不一致。你需要把Anaconda的核心路径添加到系统PATH的最前端:

    • C:\ProgramData\Anaconda3
    • C:\ProgramData\Anaconda3\Library\bin
      添加完成后务必重启Apache,让新的环境变量生效。
  • 确认Web应用调用的是Anaconda的Python解释器
    避免脚本误调用系统自带或其他版本的Python,你可以在脚本开头指定Anaconda Python的绝对路径:

    #!C:/ProgramData/Anaconda3/python.exe
    

    也可以在Apache的httpd.conf配置文件里直接设置环境变量,强制Apache使用Anaconda的路径:

    SetEnv PATH "C:/ProgramData/Anaconda3;C:/ProgramData/Anaconda3/Scripts;C:/ProgramData/Anaconda3/Library/bin;${PATH}"
    
  • 重新安装Numpy与MKL依赖,修复损坏的DLL
    有时候MKL库的DLL文件可能安装不完整或损坏,打开Anaconda Prompt执行以下命令,强制重新安装相关依赖:

    conda install --force-reinstall numpy mkl
    
  • 检查Apache的运行权限
    Apache默认以系统服务账号运行,可能没有访问Anaconda安装目录的权限。你可以:

    1. 把Apache服务的运行账号改为你当前的用户账号(确保该账号有Anaconda目录的读写权限)
    2. 直接给C:\ProgramData\Anaconda3目录添加「Everyone」的读取权限
  • 先在命令行测试脚本,缩小问题范围
    打开Anaconda Prompt,直接运行你的Python脚本,看看能不能正常导入Numpy:

    python your_script.py
    

    如果命令行里没问题,说明问题出在Apache的环境或权限上;如果命令行也报同样的错,那就是Anaconda的Numpy安装本身有问题,优先执行上面的重新安装步骤。


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

火山引擎 最新活动