从托管在 Windows Server IIS 中的 .NET Core api 运行 python 脚本时,我遇到了以下问题。我在此脚本中使用 pyrfc 1.9.5 SAP 连接器。这是下面的代码
from pyrfc import Connection
def GetConnection(connmeta):
return Connection(**connmeta)
这是我得到的错误 -
from pyrfc import Connection
File "<C:\Program Files\Python35\lib\site-packages\pyrfc-1.9.5-py3.5-win-amd64.egg\pyrfc_init_.py>", line 22, in
from pyrfc._pyrfc import get_nwrfclib_version, Connection, TypeDescription, FunctionDescription, Server
ImportError: DLL load failed: The specified module could not be found
它在命令提示符、python IDLE、Powershell 等下工作正常。以前我在未安装 Visual c++ 可再发行包时收到此错误。但现在它已正确安装,因为相同的脚本在 IDLE 和 Powershell 中运行。
以下是已安装的软件和服务器详细信息 -
- Windows 服务器 2016 64 位
- Visual C++ 2013 可再发行 64 位
- Python 3.5 64 位,
- 用于 python 3.5 64 位 (amd64) 的 pyrfc 1.9.5
- SAP NW RFC SDK 7.5.0 64 位
Python 可执行文件和lib
SDK 文件夹的路径已添加到环境变量中。我还尝试从bin
工作正常的目录中执行示例 rfcexec.exe 程序。我只在从 IIS 运行应用程序时收到错误消息。应用程序池身份对 python 脚本具有完全权限。
如果我评论 pyrfc 导入部分,该脚本在 IIS 中运行良好。请帮忙 。