Когда я столкнулся с этим, проблема оказалась в том, что у меня в пути поиска были только мои библиотеки CPython (ранее я устанавливал NLTK в CPython), а не IronPython.
В моем коде на C # теперь есть что-то вроде
engine.SetSearchPaths(new string[] {"C:\\Program Files\\IronPython 2.7\\Lib"
,"C:\\Python27\\Lib"
,"C:\\Python27\\Lib\\site-packages"
});
Почесывая голову над этой проблемой, я заметил, что случайно ввел 2.7.1 в качестве пути IronPython, т.е. несуществующий каталог. О, я только что заметил, что у OP есть похожая запись пути поиска в их источнике, возможно, также может быть порядок пути поиска?
Полезная подсказка для людей, занимающих аналогичные должности: я заметил, что мой код, использующий NLTK, работал нормально при загрузке его из ipy.exe, поэтому проблема переносимости как таковая… (и источник NLTK нигде не содержит строку fcntl)