Ubuntu и Ironpython: какие пути добавить в sys.path И как импортировать модуль fcntl?

У меня есть последняя версия IronPython, созданная и работающая в Ubuntu 14.04 через Mono. Сборка Ironpython и работа с Mono кажется тривиальной задачей, но я не уверен, что у меня есть подходящие sys.path или разрешения для Ironpython для импорта модулей, особенно таких модулей, как fcntl.

Запущенный surepip запускает подпроцесс и хочет импортировать "fcntl". Уже есть множество сообщений, но в основном это касается окон.

Насколько я понимаю, fcntl является частью стандартной библиотеки unix python2.7. Для начала основная проблема, похоже, заключается в том, что Ironpython не знает, где это, но я также подозреваю, что, поскольку fcntl кажется perl или, по крайней мере, не чистым python, это еще не все.

Итак, мои связанные вопросы sys.path:

  1. Куда мне установить Ironpython (папка Ironlanguages) в Ubuntu? Есть ли какие-то разрешения, которые мне нужно установить?
  2. Какие пути я должен добавить к sys.path, чтобы найти стандартную библиотеку Ironpython? '
  3. Какие пути я должен добавить в sys.path, чтобы получить установленные модули Ubuntu python 2.7?
  4. Какие пути я должен добавить в sys.path или методы, чтобы заставить fcntl правильно импортировать в Ironpython
  5. Любые подсказки о том, как обойти известные проблемы при установке pip через securepip с использованием mono ipy.exe X: Frames surepip

Спасибо!


person FuzzkingCool    schedule 21.02.2015    source источник


Ответы (1)


Насколько я понимаю, модуль fcntl в cPython является встроенным модулем (реализованным на C) - эти модули должны быть явно реализованы для большинства альтернативных интерпретаторов Python, таких как IronPython (в отличие от модулей, реализованных на простом Python), поскольку они не может загружать расширения Python C.

Кроме того, похоже, что в IronPython в настоящее время нет такой реализации fcntl.

В IronRuby есть файл Fcntl.cs, однако, возможно, его можно было бы использовать в качестве основы для его реализации в IronPython.

person MarkusSchaber    schedule 23.02.2015
comment
Спасибо. Я вижу, что Ironpython все еще в нескольких шагах от того, чтобы хорошо играть в Linux. Это по существу предотвращает установку pip, поскольку он использует подпроцесс, а для этого требуется fcntl. Вместо этого я переношу свой код на последнюю версию Python for Net, которая намного лучше работает с Linux и стандартными библиотеками python 2.7 ... и делает почти то же самое, что и Ironpython. Тем, кто рассматривает python.NET, имейте в виду, что его веб-страницы сильно устарели, а последний код фактически находится на github: github .com / pythonnet / pythonnet. - person FuzzkingCool; 24.02.2015
comment
Большая часть разработки Ironpython в настоящее время работает в Windows. Но вы можете добавить рабочий файл fcntl.cs / fcntl.py :-) - person MarkusSchaber; 13.03.2015