Как установить SciPy и Numpy в Windows на ARM64

Мне нужны numpy и scipy для анализа сигналов. Кому-нибудь удалось это сделать? (Мне интересно запустить его изначально, а не через virtualenv). Моя конечная цель — создать exe-файл из скрипта Python, использующий numpy и scipy, который можно запустить в WinPE для тестов.

Я успешно установил Python 3.11.2 и могу перейти к установке numpy, которая также не работает.

        INFO: unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
  running build_src
  INFO: build_src
  INFO: building py_modules sources
  creating build
  creating build\src.win-arm64-3.11
  creating build\src.win-arm64-3.11\numpy
  creating build\src.win-arm64-3.11\numpy\distutils
  INFO: building library "npymath" sources
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  [end of output]

Примечание. Эта ошибка возникает из-за подпроцесса и, скорее всего, не является проблемой pip. ОШИБКА: Не удалось построить колесо для numpy. Не удалось построить numpy.

3 ответа

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

Чтобы собрать собственные пакеты numpy и scipy для Windows+ARM:

  • Вам понадобится не только компилятор C/C++, но и компилятор Fortran. Я не уверен, доступен ли gfortran для WinARM (это то, что мы обычно используем для создания дисков scipy). ifort — еще один компилятор, на который стоит обратить внимание. Колеса scipy созданы с помощью gcc/g++/gfortran.
  • Вам нужно будет скачать и собрать библиотеку BLAS из исходного кода. Проекты scipy/numpy обычно используют OpenBLAS.
  • Вам нужно будет собрать и установить пакеты для всех зависимостей времени сборки. т.е. Cython, pybind11, (питран), мезон, мезон-питон, ниндзя. Некоторые из них могут иметь собственные зависимости. У некоторых из них есть независимые от ОС/арки колеса, но не у всех.
  • Как только вы соберете все это, вы создадите numpy, а затем scipy.

Это большая задача, и даже тогда некоторые пакеты могут иметь ошибки, которые выявляются при попытке выполнить Windows + ARM.

Можете ли вы использовать эмулируемую среду Python? например, разрешает ли Windows + ARM запускать интерпретаторы Python x86_64? В качестве альтернативы вы могли бы использовать WSL для запуска интерпретатора Python?

Это может быть связано с тем, что для сборки numpy вам необходим Microsoft Visual C++ 14.0 или более поздняя версия. Вы можете скачать последнюю версию инструмента сборки здесь https://visualstudio.microsoft.com/visual-cpp-build-tools/

тогда вы сможете установить numpy и SciPy с помощью этого в командной строке

      pip install numpy scipy

Numpy и Scipy пока не предоставляют готовых двоичных колес для Windows Arm64, и их необходимо собрать из исходного кода во время установки. Вам потребуется установить Visual Studio 2019 с наборами инструментов C/C++.

Другие вопросы по тегам