Как установить 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++.