Разница между блокнотом и скриптом ipython — загрузка библиотек DLL

Кто-нибудь заметил разницу в загрузке .NET dll между блокнотом IPython/Jupyter/консолью (qt) и обычными скриптами python, использующими pythonnet?

Является ли это ошибкой/поведением, вызванным на стороне 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, но не с питоном


person denfromufa    schedule 08.09.2015    source источник
comment
Хм, а что у вас за вопрос?   -  person cel    schedule 08.09.2015
comment
Является ли это ошибкой/поведением, вызванным на стороне pythonnet или ipython?   -  person denfromufa    schedule 08.09.2015
comment
я хочу одинакового поведения с обеих сторон, что-то определенно отличается в режиме ноутбука   -  person denfromufa    schedule 08.09.2015


Ответы (1)


в интерактивном режиме интерпретатор Python добавляет пустую строку "" к sys.path. В качестве побочного эффекта глючный AssemblyManager в pythonnet загружал сборки с полного пути только в режиме интерпретатора.

person denfromufa    schedule 10.09.2015