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

.NET Core3.1部署本地IIS无法加载python311.dll,IIS Express正常

解决PythonNet在IIS发布后无法加载python311.dll的问题
  • 给应用池授予Python目录权限
    找到IIS对应应用的应用池,查看其运行身份(默认是ApplicationPoolIdentity),给这个身份开放Python安装目录(C:/Users/AppData/Local/Programs/Python/)的读取和执行权限。

  • 把PythonDLL路径改成绝对路径
    原代码里仅写python311.dll,IIS环境无法定位文件,修改为完整绝对路径:

    Environment.SetEnvironmentVariable("PYTHONNET_PYDLL", "C:/Users/AppData/Local/Programs/Python/python311.dll", EnvironmentVariableTarget.Process);
    Runtime.PythonDLL = "C:/Users/AppData/Local/Programs/Python/python311.dll"; // 替换为绝对路径
    PythonEngine.Initialize();
    
    using (Py.GIL())
    {
        // 业务代码逻辑
    }
    
  • 将Python目录加入系统PATH并重启IIS
    把C:/Users/AppData/Local/Programs/Python/添加到系统环境变量的PATH中,添加完成后执行iisreset命令重启IIS,确保环境变量生效。

  • 匹配Python和IIS的运行位数
    如果安装的是32位Python,就在IIS应用池的高级设置里开启“启用32位应用程序”;如果是64位则保持关闭,确保两者位数一致。

  • 检查VC++运行库是否安装
    Python 3.11依赖对应的Visual C++ Redistributable运行库,确认已安装与Python位数匹配的版本(x86或x64)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 06:41:04