4

我有 VM win7 x64、Python 3.6,我正在尝试安装 pyrfc SAP 连接器。我已经安装了 NWR​​FC 库,将其设置在 PATH 变量中,使用 easy_install 安装了 egg pyrfc-1.9.5-py3.5,并安装了 Visual c++ redistributable 2015 (x64) 14。但导入总是失败:

Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> import pyrfc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\ADMIN\AppData\Local\Programs\Python\Python36\lib\site-packages\pyrfc-1.9.5-py3.5-win-amd64.egg\pyrfc\__init__.py", line 22, in <module>
    from pyrfc._pyrfc import get_nwrfclib_version, Connection, TypeDescription, FunctionDescription, Server
  File "C:\Users\ADMIN\AppData\Local\Programs\Python\Python36\lib\site-packages\pyrfc-1.9.5-py3.5-win-amd64.egg\pyrfc\_pyrfc.py", line 7, in <module>
    __bootstrap__()
  File "C:\Users\ADMIN\AppData\Local\Programs\Python\Python36\lib\site-packages\pyrfc-1.9.5-py3.5-win-amd64.egg\pyrfc\_pyrfc.py", line 6, in __bootstrap__
    imp.load_dynamic(__name__,__file__)
  File "C:\Users\ADMIN\AppData\Local\Programs\Python\Python36\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

在同一台机器上,我也有 Python2.7 - 它使用相同的 NWRFC 库,它可以正常工作。

    Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import pyrfc
    >>>

可能是什么问题?或者我如何跟踪导入以了解缺少哪个其他库?

4

1 回答 1

2

在github上有与此相关的问题,有些人通过以下方式解决了它:

一个人重新安装了 SAP SDK

在我重新下载 SAP SDK 确保我正在下载 Windows 版本之后,至少在我的情况下进行了一些故障排除后得到修复。

另一个人

如果我卸载 pyrfc v2.0.1 并使用 pyrfc-1.9.93-cp37-cp37m-win_amd64.whl 重新安装 v1.9.93,即使不需要 env var SAPNWRFC_HOME,它也可以工作。

于 2021-03-13T14:14:03.527 回答