Как я могу использовать запросы с Ironpython?

Я пытаюсь запустить скрипт, написанный на python 2.7, используя некоторые библиотеки, которые я установил на свой компьютер с Windows, среди которых numpy scipy, scikit, запросы и другие.

Теперь мне нужно использовать dll COM-объекта, поэтому я пишу сценарий IronPython, который загружает эту dll. Однако, когда я пытаюсь использовать или импортировать код Python 2.7, я получаю ошибки импорта:

ImportError: нет запросов с именем модуля

Как я могу использовать тот код Python 2.7, который я написал с помощью IronPython? Я мог бы запустить скрипт с помощью интерпретатора Python 2.7 через системную команду, но это означало бы большую трату времени.

Любая помощь будет оценена по достоинству.


person WeaselFox    schedule 23.04.2013    source источник
comment
Я не знаю IronPython, но кажется, что ваши библиотеки были установлены с использованием другого Python, и PYTHOPATH в этих двух не совпадают. Это или запросы были установлены в месте, которое автоматически не подхватывается IronPython. Проверьте свой sys.path и посмотрите, включен ли каталог запросов. Правильно ли импортируется numpy?   -  person    schedule 23.04.2013
comment
попытка добавить к sys.path путь к библиотекам python 2.7 тоже не работает... пробовал numpy и requests. Я получаю больше ошибок импорта...   -  person WeaselFox    schedule 23.04.2013


Ответы (1)


IronPython написан на C#, поэтому вы не можете (легко) использовать на нем расширения C для cPython. Существует порт numpy и scipy для среда Microsoft .Net.

Для чистых пакетов и модулей Python добавление к sys.path позволяет выполнять импорт. Вы python setup.py install свой собственный код? В противном случае его не будет в установочных пакетах сайта, и вам следует добавить каталог вашего проекта в sys.path.

Есть дополнительная проблема с запросами, проблема с поддерживаемыми кодировками (https://ironpython.codeplex.com/workitem/4565) мешает этому работать. Вопрос открыт веками.

Если вы можете более подробно рассказать о своем коде и настройках, другие люди могут присоединиться к вам с дополнительными предложениями.

person Thomas Fenzl    schedule 23.04.2013