Установка NumPy в Windows

Я просто не могу установить NumPy на Windows. Я продолжаю получать эту ошибку -

PS C:python27> pip install http://sourceforge.net/projects/numpy/file/NumPy/
Collecting http://sourceforge.net/projects/numpy/files/NumPy/
Downloading http://sourceforge.net/projects/numpy/files/NumPy/ (58kB)
100% |################################| 61kB 15kB/s
Cannot unpack file c:userstoshibaappdatalocaltemppip-qev4rz-unpackNumPy 
(downloaded from c:userstoshibaappdatalocaltemppip-omripn-build, content-type: text/html; charset=utf-8); cannot detect archive format
Cannot determine archive format of c:userstoshibaappdatalocaltemppip-omripn-build

у меня была 64-битная версия Python раньше, и я не был уверен, что версия NumPy совместима с 64-битным Python. Поэтому я удалил его и установил 32-битную версию Python. Но все равно я получаю ту же ошибку. Хотя моя 32-битная версия Python работает нормально.

Я попытался "pip install numpy", но это дает мне следующую ошибку в конце -

C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: 'define_macros'

  warnings.warn(msg)

error: Unable to find vcvarsall.bat

----------------------------------------
Command "C:Python27python.exe -c "import setuptools,tokenize;__file__='c:userstoshibaappdatalocaltemppip-build-hdhqexnumpysetup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'),__file__, 'exec'))" install --record c:userstoshibaappdatalocaltemppip-x_6llm-recordinstall-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:userstoshibaappdatalocaltemppip-build-hdhqexnumpy

пожалуйста скажи мне, что я делаю не так.

5 ответов


объяснения

в первом случае я не проверял, но думаю, что pip непосредственно загружает ресурс, соответствующий заданному URL:http://sourceforge.net/projects/numpy/file/NumPy/. Сервер возвращает HTML-документ, в то время как pip ожидает в архив. Так что это не сработает.

тогда есть в основном два способа установки пакетов Python:

  • из источников, как вы пытались тогда
  • из предварительно скомпилированных пакетов

в первом случае вы попробовали это с помощью команды pip install numpy, но так как этот пакет содержит собственный код, он требует, чтобы инструменты разработки были установлены правильно (что я всегда считал болью в шее, чтобы сделать на Windows, но я сделал это, так что это явно возможно). Ошибка у вас error: Unable to find vcvarsall.bat означает, что у вас нет установленных инструментов или правильно настроенной среды.

для второго случая, у вас есть различные виды предварительно скомпилированных пакетов:

  • колеса, которые вы установите с pip а также
  • установщики, которые вы используете в качестве стандартных установщиков на Windows

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

простое решение

вы можете найти там несколько колес для numpy: http://www.lfd.uci.edu / ~gohlke / pythonlibs / #numpy. Чтобы получить правильную архитектуру, проверьте имя win32 для 32 бит и amd64 для 64 бит. Чтобы получить правильную версию Python, проверить cpXX: первый X-основная версия, а второй X-второстепенная версия, так, например cp27 означает CPython 2.7.

пример: pip install numpy‑1.9.2rc1+mkl‑cp27‑none‑win32.whl

трудное решение: установка и использование средств разработки

отказ от ответственности: все следующие объяснения могут быть не совсем ясными. Они являются результатом нескольких исследований, в разные моменты, но в моей конфигурации они привели в рабочее решение. Некоторые ссылки могут быть бесполезными или избыточными, но это то, что я отметил. Все это требует некоторой очистки и, вероятно, обобщения.

во-первых, вы должны понимать, что disutils - который является предустановленным пакетом, который обрабатывает рабочий процесс пакетов на более низком уровне, чем pip (и который используется последний) - попытается использовать компилятор, который строго соответствует тому, который использовался для сборки установленной вами машины Python.

официальные дистрибутивы Python используют Microsoft Visual C++ для пакетов Microsoft Windows. Таким образом, вам нужно будет установить этот компилятор в этом случае.

как найти правильную версию Visual C++

строка, напечатанная Python с помощью этой команды python -c "import sys; print(sys.version)" (или при вызове интерактивной оболочки) будет выглядеть так:

3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)]

последняя часть в квадратных скобках-идентификация частью компилятора. К сожалению, это не совсем просто, и у вас есть списки корреспонденции там:

в приведенном выше примере это означает Microsoft Visual C++ 2010 64 бит.

Как установить Visual C++

вы больше не можете найти автономный пакет Visual C++ для современных версий. Поэтому вам нужно будет установить Windows Сам SDK.

вот некоторые ссылки:

устранение неисправностей

при установке SDK может возникнуть ошибка: DDSet_Error: Patch Hooks: Missing required property 'ProductFamily': Setup cannot continue. DDSet_Warning: Setup failed while calling 'getDLLName'. System error: Cannot create a file when that file already exists.

о них уже сообщалось в нескольких вопросах:

в качестве решения, вы можете проверить эту ссылку: Windows SDK не удается установить с кодом возврата 5100

дело в том, чтобы удалить все конфликтующие (поймите: те, которые установщик SDK пытается установить сам) версии распространяемого Visual C++.

использовать развития инструменты

обычно вы должны запустить vsvarsall.bat (находится внутри VC папка пути установки Visual Studio-пример:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat), чтобы настроить правильные переменные среды так, чтобы выполнение distutils не терпит неудачу при попытке скомпилировать пакет.

этот пакетный скрипт принимает параметр, который следует установить архитектуру. Однако я видел, что с бесплатными версиями SDK некоторые дополнительные скрипты отсутствовали при попытке нескольких из указанные параметры.

просто сказать, что если вы компилируете для 32-битной архитектуры, просто вызывая vsvarsall.bat должны работать. Если вам нужно скомпилировать для 64 бит, вы можете напрямую позвонить SetEnv.cmd, расположенный где - то внутри пути установки SDK-пример: "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64.


На Windows, pip отлично подходит для установки пакетов, которые не требуют компиляции. В противном случае, серьезно, избавьте себя от хлопот по созданию и обслуживанию пакетов и воспользуйтесь работой, которую другие сделали для вас. Я рекомендую использовать любой из этих дистрибутивов Python:

Anaconda немного больше для загрузки и установки, но включает в себя много полезных пакеты сторонних производителей по умолчанию (например, numpy). ActivePython включает в себя менеджер пакетов, который позволяет легко установить предварительно скомпилированные двоичные файлы (установка numpy так же просто, как pypm install numpy).

преимущество использования этих дистрибутивов Python заключается в том, что вы можете запустить рабочую установку за считанные минуты, легко воспроизводимым способом.


лучшим решением для этого является загрузка и установка VCforPython2.7 из https://www.microsoft.com/en-us/download/details.aspx?id=44266

затем попробуйте pip установить numpy.

100% работающего


Я попытался установить numpy для windows 7, 64-бит и провел довольно много времени. На самом деле я пытался sklearn установки. Исследовал много постов, задокументировал, что сработало для меня. Надеюсь, это сэкономит ваше время! https://simplemachinelearning.wordpress.com/2015/11/09/set-up-sklearn-on-windows/


Я тоже столкнулся с вышеуказанной проблемой при настройке python для машинного обучения.

Я сделал следующие шаги: -

установить python-2.7.13.компания MSI

* установить путь=C:\Python27

* установить путь=C:\Python27\Scripts

перейти к http://www.lfd.uci.edu / ~gohlke / pythonlibs / #scipy

скачали:- * numpy-1.13.1 + mkl-cp27-cp27m-win32.whl • scipy-0.18.0-cp27-cp27m-win32.whl

установки numpy: pip установить numpy-1.13.1 + mkl-cp27-cp27m-win32.whl

установка scipy: pip установить scipy-0.18.0-cp27-cp27m-win32.whl

вы можете проверить правильность, используя ниже cmds: -

>>> import numpy
>>> import scipy
>>> import sklearn
>>> numpy.version.version
'1.13.1'
>>> scipy.version.version
'0.19.1'
>>>