Установлен python 3.5.2 под win 10 64bits, клонирован numpy и scipy, как их построить?

Я установил python 3.5.2 через официальный установщик, найденный здесь, и я клонировал numpy и scipy (см. здесь). У меня установлена ​​Intel parallel studio 2017, так что у меня есть версии Intel Blas и Lapack (они находятся в Math Kernel Library (MKL)), и я понимаю, что они необходимы для создания numpy и scipy (я пропустил что-то еще, что нужно? ), и я хотел бы создать numpy и scipy из исходного кода, без использования anaconda, wheel или чего-то еще. Обычно я не хочу прибегать к таким вещам, как

Установка SciPy с помощью pip

(даже если бы у меня была такая же проблема с пипами, как описано там), и я хочу сам создавать библиотеки, потому что хочу иметь двоичные файлы и библиотеки, оптимизированные для моей системы. (Буду благодарен за ответы по этому поводу.)

Как мне поступить?

Замечания. Я использую 64-битную версию win10, у меня Visual Studio 2013 и 2015, а также Intel parallel studio 2017 с последней версией Intel MKL. У меня также есть python 2.7.12, и на данный момент я также был бы удовлетворен возможностью создавать numpy и scipy с помощью python 2.7.12. (Я могу ошибаться, но я не думаю, что правильная процедура для создания numpy и scipy с помощью python и Intel MKL blas и lapack сильно зависит от того, что используется python 2.7.12 или 3.5.2.)


person Olorin    schedule 12.11.2016    source источник
comment
Так почему нет анаконды и почему нет пипса? Классический подход без пипсов - это вызов setup.py. Но это, вероятно, будет очень болезненно для окон (менее болезненно, чем scipy).   -  person sascha    schedule 12.11.2016
comment
Я нашел это: software.intel.com/en-us/articles/ Я думаю, это решит мои проблемы по крайней мере для numpy   -  person Olorin    schedule 12.11.2016
comment
Бесплатное распространение Python от Intel - действительно отличный выбор   -  person Saullo G. P. Castro    schedule 12.11.2016
comment
Почему нет анаконды и почему нет пипса? Потому что даже в Windows я стараюсь как можно больше придерживаться того, что делаю в * nix: я сам создаю все, что могу.   -  person Olorin    schedule 12.11.2016


Ответы (1)


Для Windows я предпочитаю загружать файлы колеса (.whl) из LFD страница. Он строит с использованием математических библиотек MKL и отслеживает обновления по мере их выпуска (и отслеживает предварительные версии для важных пакетов). Я могу создать их сам, но для меня имеет смысл использовать вместо этого замечательные работы Кристофа.

person cco    schedule 12.11.2016
comment
Хотя я также предпочитаю использовать готовый материал (если он качественный; я должен признать, что я предпочитаю анаконду), это не отвечает на вопрос, поскольку он явно заявляет, что хочет скомпилировать из исходников. Я спросил, почему, но никакой реакции. - person sascha; 12.11.2016
comment
Это честно. Я написал это как ответ, потому что думал, что указатель на работу Кристофа будет более полезен для людей, пытающихся заставить работать MKL numpy и scipy, которые не настроены на его создание, но не знают никакой альтернативы. Колеса значительно упрощают задачу - у меня есть локальный кеш колес LFD для Windows, но у меня есть полный стек Jupyter / Numpy / Pandas на моем Mac, использующий только pip (файлы MacOS .whl также привязаны к быстрым математическим библиотекам Apple). - person cco; 12.11.2016
comment
Замечательно, что эти двоичные файлы вам подходят. Я давно перешел на анаконду, так как это больше, чем просто двоичные файлы. Он также красиво добавляет инструменты для инкапсуляции среды и приятный установщик в стиле pip. И, конечно, эти сборки основаны на Intel MKL (возможно, не для Mac, но я не уверен). - person sascha; 12.11.2016
comment
Все верно. Когда я начал использовать Numpy, Anaconda не использовала MKL в Windows, но теперь они есть (думаю, и для Mac). У нас есть возможность выбрать из нескольких вариантов. Ваше здоровье! - person cco; 12.11.2016
comment
Хотя предлагаемое вами решение (и которое вы могли бы скорее предложить в качестве ответа на аналогичные вопросы, не подчеркивая отсутствие anaconda no pip) действительно имеет то преимущество, что оно действительно согласовано, но оно наверняка не оптимизировано для вашей системы (ОС и т. Д.) , Я предпочитаю даже в Windows максимально придерживаться того, что я делаю в * nix: я сам создаю все, что могу, чтобы иметь как можно больше бинарных файлов / библиотек, оптимизированных для моей системы. - person Olorin; 13.11.2016
comment
64-битные окна - это очень простая экосистема с точки зрения ОС, и библиотеки MKL (у меня нет лицензии на сборку, но я могу использовать их, если они распространяются кем-то, кто ее использует), которые использует Кристоф, лучше, чем я. мог построить. Для других систем (где сборка не так болезненна, как Windows, другие варианты имеют больше смысла. - person cco; 14.11.2016
comment
Итак, у вас тот же процессор Intel, что и в 64-битных Windows, под которыми Кристоф построил библиотеки? Потому что оптимизация также зависит от процессора, так что ваш выбор (ключевое слово your) действительно имеет для вас больше смысла, но, очевидно, не в целом. Вот почему я задаю свой вопрос. - person Olorin; 14.11.2016
comment
У меня сложилось впечатление, что оптимизация для конкретного процессора осуществляется во время выполнения, а не во время компиляции (я могу ошибаться в этом); в любом случае у меня нет кода BLAS, настроенного в Windows, поэтому даже неоптимальный MKL (намного) лучше, чем отсутствие быстрого математического кода. - person cco; 14.11.2016