1

有没有人注意到在 IPython/Jupyter notebook/(qt)console 和使用 pythonnet 的普通 python 脚本之间加载 .NET dll 的区别?

这是在 pythonnet 或 ipython 端引起的错误/行为吗?

这适用于 ipython 和 python 交互式控制台:

import clr
clr.AddReference(r"C:\path2dll\dotnetdll")

但在常规 python 脚本中,sys.path 必须附加到 DLL 的路径:

import clr
import sys
sys.path.append(r"C:\path2dll")
clr.AddReference("dotnetdll")

可能类似的问题:

dl.open() 的权限被 ipython 拒绝,但没有 python

4

1 回答 1

1

在交互模式下,python 解释器将空字符串附加""sys.path. 作为这种副作用,pythonnet 中的错误 AssemblyManager 仅在解释器模式下从完整路径加载程序集。

于 2015-09-10T19:32:00.570 回答