Установка numpy с помощью pip в Windows 10 для python 3.7

#python-3.x #windows #pip

#python #numpy #python-3.7

Вопрос:

Я установил python 3.7 на свой ноутбук с Windows 10, поскольку он был официально выпущен на сегодняшний день (28.06.2018). Затем я попытался установить пакет numpy с помощью pip

 pip install numpy
  

Установка продолжается, но в конечном итоге завершается ошибкой, приведенной ниже :

         source = func(extension, build_dir)
      File "numpycoresetup.py", line 675, in get_mathlib_info
        raise RuntimeError("Broken toolchain: cannot link a simple C program")
    RuntimeError: Broken toolchain: cannot link a simple C program

    ----------------------------------------
Command ""c:program filespython37python.exe" -u -c "import setuptools, tokenize;__file__='C:\Users\pcheg\AppData\Local\Temp\pip-install-7wjkw5wn\numpy\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:UserspchegAppDataLocalTemppip-record-uhj8233finstall-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:UserspchegAppDataLocalTemppip-install-7wjkw5wnnumpy
  

Есть идеи относительно того, как преодолеть эту ошибку установки? Спасибо.

Комментарии:

1. Для тех, кто пытается установить numpy (или другие пакеты, требующие компиляции) на Python 3.9: Python 3.9 только что вышел , а Numpy еще не создал wheels для 3.9. Не отчаивайтесь, Кристоф Голке вас предупредил, смотрите Принятый ответ здесь .

Ответ №1:

Установка NumPy в Windows является распространенной проблемой, если у вас нет правильных настроек сборки. Вместо этого я всегда захожу на веб-сайт Кристофа Голке, чтобы загрузить диски, которые вы можете установить на свой компьютер. Кристоф щедро создает библиотеки самостоятельно с помощью правильной среды сборки и публикует ее на своем веб-сайте.


Новые инструкции — для более старых инструкций, пожалуйста, прокрутите вниз

Сначала установите pipwin из PyPI, который установит утилиту, которая действует как pip , но она загрузит интересующий вас пакет с его веб-сайта, а затем используйте pipwin install для установки нужного пакета.

Сначала выполните:

pip install pipwin

После установки вы можете выполнить:

pipwin install numpy

При этом в вашей системе будет установлена последняя версия NumPy. Таким образом, вам не нужно специально искать версию NumPy для вашей конкретной версии Python.


Старые инструкции

Перейдите в раздел NumPy: https://www.lfd.uci.edu /~gohlke/pythonlibs/#numpy затем загрузите версию для версии 3.7, совместимую с вашей версией Python (2 или 3 и 32-разрядной или 64-разрядной). Например, имя numpy‑1.14.5 mkl‑cp37‑cp37m‑win_amd64.whl файла предназначено для NumPy 1.14.5, Python 3.7 — 64-разрядный. Вы можете выбрать, какая версия NumPy и какая версия интерпретатора Python и разрядная версия вам нужны в имени файла.

Для этого никогда не требуется создавать NumPy самостоятельно или устанавливать необходимый компилятор, в отличие от установки NumPy через PyPI. Вы можете просто загрузить колесо и установить его самостоятельно. Предполагая, что вы уже загрузили его, просто выполните:

 pip install numpy‑1.14.5 mkl‑cp37‑cp37m‑win_amd64.whl
  

… предполагая, что колесо находится в каталоге, в котором вы сейчас находитесь.

Комментарии:

1. Это официальное неофициальное руководство по установке numpy!

Ответ №2:

Начиная с 24 ноября 2021 года, для последней версии numpy требуется как минимум Python 3.8

Примечание: Возможно, это не первоначальный вопрос, но он может помочь любому прийти сюда.

Чтобы использовать python 3.7, последняя версия numpy, которую вы можете использовать, — v1.21.4. Итак, чтобы установить его, используйте:

 pip install numpy==1.21.4
  

Если вы пишете требования, которые, как вы надеетесь, совместимы с python 3.7, вы можете использовать numpy<=1.21.4


РЕДАКТИРОВАТЬ: 20 декабря 2021 года numpy выпустит версию 1.21.5, поддерживающую Python 3.7

Из раздела комментариев @sam, numpy 1.21.5 поддерживает Python 3.7. Он был выпущен после 1.22.0rc1 (последняя версия numpy на момент написания исходного сообщения), которая поддерживает только Python 3.8 .

Урок, извлеченный из этого опыта, было бы лучше использовать < ,

 pip install numpy<1.22.0
  

или

 install_requires = [
    "numpy<1.22.0", # lates version to support python 3.7
],
  

РЕДАКТИРОВАТЬ: 1.21.6 выпущен 12 апреля 2022 года.

Комментарии:

1. обратите внимание, что 1.21.5 также поддерживает Python 3.7, см. numpy.org/devdocs/release/1.21.5-notes.html

2. @SamMason Вау, это было выпущено после этого ответа. Обновлено, спасибо.

Ответ №3:

Для Windows при установке пакета вы вводите Python 3:

 py -m pip install [packagename]

         OR

py -m pip install numpy
  

Комментарии:

1. По состоянию на октябрь 2019 года это гораздо более простое решение, которое не требует ручного выбора и загрузки пакетов numpy. Кроме того, поскольку Python теперь поставляется с pip , вызов для установки pip через Python в любом случае предпочтительнее.

Ответ №4:

Вероятно, вам не хватает компилятора C. Если numpy еще не предоставляет встроенное колесо, вам необходимо установить компилятор. На этом веб-сайте показан тот, который вам нужно установить. Для версии 3.7 я предполагаю, что она по-прежнему 14.0, поэтому вам следует установить Microsoft Build Tools для Visual Studio 2017.

Дайте мне знать, если это сработает.

Комментарии:

1. Спасибо, я попробую это, как только вернусь домой. Прямо сейчас. Также у меня не было никаких проблем с установкой numpy на python 3.6.6. Просто к вашему сведению.

2. Точно, потому что numpy предоставляет файлы wheel (предварительно скомпилированные пакеты) для python 3.6, которые можно установить без компилятора.

3. Итак, я установил Visual Studio Build Tools 2017 (15.7.4), а затем снова попытался установить numpy с помощью pip, но получил ту же ошибку, что и выше. Что сработало для меня, так это решение rayryeng. Я предполагаю, что numpy все еще не готов к установке со всеми необходимыми компонентами через pip для python 3.7.