Еще один из моих запросов о встроенном интерпретаторе Python 2.7.3 в Windows. Мне нужно установить numpy и matplotlib в качестве пакетов поддержки для встроенного интерпретатора в программе C ++, скомпилированной в Visual Studio 2010.
Немного предыстории:
Я пытался сделать эту работу в течение нескольких месяцев. Основная проблема заключается в том, что numpy для Python 2.7 скомпилирован с более ранней версией библиотеки MS C (VS2008), тогда как мое приложение скомпилировано с использованием версии 2010 года (факт вне моего контроля — это офисный компилятор).
Я обошел это, поиграв с манифестом для моего приложения, чтобы оно загрузило правильную библиотеку C для numpy, и это заставило ее импортировать. Поскольку конечный пользователь опробовал новые функции, начали появляться ошибки, в том числе не отслеживаемые сбои.
Мое текущее состояние:
Я связал некоторые из них с плохой компиляцией на моей части исходного кода Python 2.7.3, в частности с зависимостями (многие сбои, похоже, были связаны с Tkinter из matplotlib). Итак, я начал заново с компиляции Python и теперь у меня есть чистая скомпилированная версия всего ядра и зависимостей Python 2.7.3. Сейчас я смотрю на numpy / matplotlib.
Мои вопросы
Стоит ли пытаться скомпилировать numy против VS2010, или мой единственный более ранний вариант решения проблемы искажения — единственный путь?
Если первое, с какими проблемами я мог бы столкнуться при этом (то есть, что я должен наблюдать за тобой)?
В последнем, как я могу получить numy для установки в папку lib / site-packages моего встроенного intepreter?
используйте Cygwin для создания NumPy на Windows.
Я на windows-xp
Это работает нормально для меня …
В Cygwin Python2.6 поставляется как Python по умолчанию. Я установил python2.7, но не установил numpy в python2.7.
Чтобы использовать его на Python2.7 я запустил python2.7 setup.py build
Вы можете видеть это на скриншоте моего терминала. и в папке ‘namit’ я поместил ‘numpy’ dir, который я скомпилировал на cygwin.
когда я импортировал NumPy, когда я в этом каталоге … это сработало … вы можете увидеть это в globals (), откуда он импортировал.
Других решений пока нет …