Автор оригинала: Codementor Team.
Эта статья представляет собой короткую заметку о том, как настроить NumPy в 64-разрядной Windows, и первоначально она была опубликована на Jan-Philip Gehrcke блог .
Для Windows нет официальных 64-разрядных сборок NumPy . На самом деле 64-разрядная Windows официально не поддерживается NumPy. Поэтому, если вы серьезно относитесь к своему проекту, вам нужно либо рассмотреть возможность создания поверх Unix-подобных платформ и наследовать внешнюю гарантию качества, либо (в Windows) вам нужно предвидеть проблемы различного рода и провести обширное тестирование самостоятельно. Одна из причин заключается в том, что нет адекватной (с открытым исходным кодом, надежной, многофункциональной) цепочки инструментов для создания надлежащих 64-битных сборок NumPy в Windows (дополнительные ссылки: поток списка рассылки numpy , форумы Intel ).
Тем не менее, во многих случаях рабочим решением являются неофициальные сборки , предоставляемые Кристофом Гольке , созданные с помощью набора компиляторов Intel commercial . Это зависит от вас, чтобы понять влияние лицензии и хотите ли вы или можете использовать эти сборки. Я люблю использовать эти сборки.
Следующие шаги показывают очень простой способ получить двоичные файлы NumPy для архитектуры AMD64, установленные поверх CPython 3(.4). Эти инструкции действительны только для Python, установленного с помощью официального установщика CPython, полученного от python.org.
1) Установите Python для AMD64 arch
Загрузите 64-разрядный файл установщика MSI из python.org . Решающим шагом является получение установщика для архитектуры AMD64 (x86-64) , обычно называемого “установщиком MSI для Windows x86-64”. Я выбрал python-3.4.2.amd64.msi . Запустите программу установки.
2) Обновление pip
Последние версии Python3 поставляются с pip
, но вы должны использовать новейшую версию для правильной поддержки колес. Открыть cmd.exe
, и запустить
C:\> pip install pip --upgrade
Проверить:
C:\> pip --version pip 6.0.8 from C:\Python34\lib\site-packages (python 3.4)
Последний проверяет, что этот pip
i) является актуальным и ii) принадлежит нашей целевой версии CPython (несколько версий CPython могут быть установлены в любой данной системе, и соответствие между pip
и определенной сборкой Python иногда не очевидно).
Примечание: Установщик Python должен правильно настроить переменную среды PATH таким образом, чтобы python
, а также pipe
, введенные в командной строке, соответствовали тому, что было установлено установщиком. Однако возможно, что вы каким-то образом потеряли контроль над своей средой, установив слишком много разных вещей в неразумном порядке. В этом случае вам, возможно, придется вручную настроить свой ПУТЬ так, чтобы он определял приоритеты исполняемых файлов в C:\Python34\Scripts
(или где бы вы ни установили свою 64-битную версию Python).
3) Скачать колесо сборки NumPy для AMD64 на Windows
Перейдите к lfd.uci.edu/~gohlke/pythonlibs/#numpy и выберите сборку для вашей версии Python и для AMD64. Я выбрал numpy‑1.9.2rc1+mkl‑cp34‑none‑win_amd64.whl
.
4) Установите колесо с помощью pip
В командной строке перейдите в каталог, в который вы загрузили файл колеса. Установите его:
C:\Users\user\Desktop>pip install "numpy-1.9.2rc1+mkl-cp34-none-win_amd64.whl" Processing c:\users\user\desktop\numpy-1.9.2rc1+mkl-cp34-none-win_amd64.whl Installing collected packages: numpy Successfully installed numpy-1.9.2rc1
Простота этого подхода является чем-то новым. На самом деле, именно из-за этой простоты в первую очередь были разработаны колеса! Установка готовых двоичных файлов с помощью pip была невозможна в “старом” формате пакета egg. Таким образом, старые учебники/описания такого рода могут указывать на установщиков MSI или сомнительных самораспаковывающихся установщиков. Эти времена уже прошли, и это также является основной причиной, по которой я пишу этот пост в блоге.
5) Проверьте
>>> import numpy >>> numpy.__version__ '1.9.2rc1
Здорово.
Сторонние дистрибутивы Python
Я не хочу оставлять без внимания, что существуют очень хорошие сторонние дистрибутивы Python (т. Е. Не предоставляемые Python Software Foundation), которые включают коммерчески поддерживаемые и должным образом протестированные сборки NumPy/SciPy для 64-разрядных платформ Windows. Большинство из этих сторонних поставщиков имеют коммерческое образование и диктуют свои собственные лицензии в отношении использования своего дистрибутива Python. В некоммерческих целях большинство из них можно использовать бесплатно . Следующие дистрибутивы предоставляют рабочее решение:
- Я не хочу оставлять без внимания, что существуют очень хорошие сторонние дистрибутивы Python (т. Е. Не предоставляемые Python Software Foundation), которые включают коммерчески поддерживаемые и должным образом протестированные сборки NumPy/SciPy для 64-разрядных платформ Windows. Большинство из этих сторонних поставщиков имеют коммерческое образование и диктуют свои собственные лицензии в отношении использования своего дистрибутива Python. В некоммерческих целях большинство из них можно использовать
- бесплатно
- . Следующие дистрибутивы предоставляют рабочее решение:
Все эти три дистрибутива рекомендуются с технической точки зрения (я не могу сказать, являются ли их модели лицензий/ограничения проблемой для вас или нет). Все они поставляются в виде 64-битных сборок. Я не совсем уверен, что Enthought и ActiveState строят NumPy против библиотеки математического ядра Intel. В случае с Anaconda это определенно не случай в бесплатной версии — это то, что можно явно получить за 29 долларов (это называется пакетом “Оптимизация MKL”).
Об авторе
Ян-Филипп Герке-физик, ИТ-энтузиаст и разработчик программного обеспечения с открытым исходным кодом. У него большой интерес к веб-технологиям, особенно к магии за кулисами: отказоустойчивость, потоки данных, сетевые технологии, масштабируемые и распределенные системы. Ему нравится искусство системного проектирования и кодирования. Вы можете найти больше его размышлений в его блоге .