Reputation: 370
I installed python 3.7 on my Windows 10 laptop since it has been officially released as of today (06/28/2018). Then i tried to install numpy package using pip
pip install numpy
The install proceeds but finally fails with the below error :
source = func(extension, build_dir)
File "numpy\core\setup.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 files\python37\python.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('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\pcheg\AppData\Local\Temp\pip-record-uhj8233f\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\pcheg\AppData\Local\Temp\pip-install-7wjkw5wn\numpy\
Any ideas as to how to overcome this install Error? Thanks.
Upvotes: 13
Views: 91113
Reputation: 104493
Installing NumPy on Windows is a common problem if you don't have the right build setup. Instead, I always go to Christoph Gohlke's website to download the wheels you can install for your computer. Christoph generously builds the libraries himself with the right build environment, and he posts them on his website. These are specifically pre-compiled wheels made for Windows. I've found that Christoph Gohlke's website of pre-compiled wheels is the best way to install the NumPy and SciPy packages on Windows.
Currently, Christoph Gohlke hosts those wheels on his Github page found here: https://github.com/cgohlke/numpy-mkl-wheels/
Visit the Releases page. In the section that is the most up-to-date, make sure you click on the "Show all assets" link to uncover all of the wheels he has built, including NumPy and SciPy.
Right-click on the one that is specifically for your computer and download it. For example, numpy-1.26.3-cp311-cp311-win_amd64.whl
indicates that this is NumPy 1.26.3, Python 3.11, Windows 64-bit.
Once downloaded, use pip
to install the wheel:
pip install numpy-1.26.3-cp311-cp311-win_amd64.whl
This assumes you run the command in the same directory where you saved the wheel file. On the Releases page, search for the filename that is specifically for your machine according to the suitable Python, NumPy, and bit versions suitable for your environment and download the file, then run pip install
as above.
First, install pipwin
from PyPI which will install a utility that acts like pip
but it will download the actual package you're interested in from his website, then use pipwin install
to install the package you want.
First do:
pip install pipwin
When that's installed, you can then do:
pipwin install numpy
This will install the latest version of NumPy on your system. This way you don't have to specifically search for the version of NumPy that is for your specific version of Python.
Upvotes: 30
Reputation: 2137
Note: This might not be the original question asked, but it might help anyone come here.
To use python 3.7, latest numpy you can use is v1.21.4. So, to install it, use:
pip install numpy==1.21.4
If you write requirements that you hope compatible with python 3.7, you can use numpy<=1.21.4
From comment section, by @sam, numpy 1.21.5 support Python 3.7. It was released after 1.22.0rc1 (the latest numpy version as the writing of the original post) that only support Python 3.8++.
Lesson learned from this experience, it would be better to use <
,
pip install numpy<1.22.0
or
install_requires = [
"numpy<1.22.0", # lates version to support python 3.7
],
EDIT: 1.21.6
released on Apr 12, 2022.
Upvotes: 5
Reputation: 1241
For windows when you install a package you type in Python 3:
py -m pip install [packagename]
OR
py -m pip install numpy
Upvotes: 3
Reputation: 6359
You're probably missing a C compiler. If numpy doesn't provide a prebuilt wheel yet, you'll need to install a compiler. This website shows the one you need to install. For 3.7, I assume it's still 14.0, so you should install Microsoft Build Tools for Visual Studio 2017.
Let me know if that works.
Upvotes: 0