#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.