Я написал несколько фиктивных классов, и я хочу, чтобы IronPython использовал их вместо рабочих классов.
В обычном Python под Linux я могу просто export PYTHONPATH=./mock:.
, поэтому sys.path
в Pythonбудет настроен таким образом, что он ищет макеты перед CWD.
Но, похоже, это не работает с IronPython, под Windows:
C:\Users\IEUser>set IRONPYTHONPATH=.\mock;.
C:\Users\IEUser>ipy
IronPython 2.7.9 (2.7.9.0) on .NET 4.0.30319.42000 (64-bit)
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['.', 'C:\\Program Files\\IronPython 2.7\\Lib', 'C:\\Users\\IEUser\\mock', 'C:\\Users\\IEUser', 'C:\\Program Files\\IronPython 2.7\\DLLs', 'C:\\Users\\IEUser\\AppData\\Roaming\\Python\\IronPython27\\site-packages', 'C:\\Program Files\\IronPython 2.7\\Lib\\site-packages']
CWD, .
, является первымв списке поиска, хотя я указал его как второй в IRONPYTHONPATH
. Таким образом, производственные классы в конечном итоге загружаются вместо моих издевательств.
Есть ли способ исправить это? Я правильно устанавливаю переменную в Windows? Или это просто неудачная причуда IronPython?