我使用pythonnet_netstandard_py37_win 2.5.2在.net core3.1中运行numpy优化方法,当我在visual studio 2019中运行时(iis express,任何CPU,调试)它工作正常,但当在iis上发布它时(在我的machie上)它给了我错误:
`System.TypeInitializationException: The type initializer for 'Delegates' threw an exception.
System.DllNotFoundException: Could not load python311.dll.
System.ComponentModel.Win32Exception (126): The specified module could not be found.
还设置了windows环境变量中的环境(关于调试模式下的工作),
搜索很多问题都没有给给予我好的答案,这行是属于我的代码:
Environment.SetEnvironmentVariable("PYTHONNET_PYDLL", "C:/Users/AppData/Local/Programs/Python/python311.dll", EnvironmentVariableTarget.Process);
Runtime.PythonDLL = "python311.dll";
PythonEngine.Initialize();
using (Py.GIL())
{ ....
有人能帮我一下吗???
2条答案
按热度按时间u0sqgete1#
这一行:
完全覆盖此行的效果:
所以Python.NET知道你想要python311.dll,但不知道在哪里可以找到它。
kmb7vmvb2#
您遇到的错误消息表明,在IIS上发布应用程序时,加载python311.dll库时出现问题。
您需要确保运行IIS应用程序池的用户帐户具有访问Python DLL及其文件夹所需的权限。
此外,检查IIS应用程序池是否使用正确的位数(32位或64位)。如果您的Python安装和PythonNet是64位的,请确保您的IIS应用程序池配置为64位执行。