Installing NumPy on Windows

前端 未结 5 1320
旧时难觅i
旧时难觅i 2020-12-03 02:19

I\'m simply unable to install NumPy on Windows. I keep getting this error -

PS C:\\python27> pip install http://sourceforge.net/projects/numpy/file/NumPy         


        
相关标签:
5条回答
  • 2020-12-03 02:41

    Best solution for this is to download and install VCforPython2.7 from https://www.microsoft.com/en-us/download/details.aspx?id=44266

    Then try pip install numpy.

    100% working

    0 讨论(0)
  • 2020-12-03 02:42

    On Windows, pip is great for installing packages that do not require compiling. Otherwise, seriously, save yourself the hassle of building and maintaining packages, and take advantage of the work others did for you. I recommend using either of these Python distributions:

    • ActivePython
    • Anaconda

    Anaconda is a little larger to download and install, but it includes many useful third-party packages by default (such as numpy). ActivePython includes a package manager which allows you to easily install pre-compiled binaries (installing numpy is as easy as pypm install numpy).

    The advantage of using these Python distributions is that you can get a working installation running in minutes, in an easily reproducible manner.

    0 讨论(0)
  • 2020-12-03 02:50

    I tried to install numpy for windows 7, 64-bit and spent quite sometime. I was actually trying to setup sklearn. Researched many posts, documented what worked for me. Hope it saves your time! https://simplemachinelearning.wordpress.com/2015/11/09/set-up-sklearn-on-windows/

    0 讨论(0)
  • 2020-12-03 03:01

    Some explanations

    In the first case, I didn't check but I guess that pip directly downloads the resource corresponding to the given URL: http://sourceforge.net/projects/numpy/file/NumPy/. The server returns a HTML document, while pip expects an archive one. So that can't work.

    Then there are basically two ways to install Python packages:

    • from sources, as you tried then
    • from pre-compiled packages

    The first case, you tried it with the command pip install numpy, but since this package contains native code, it requires development tools to be installed properly (which I always found to be a pain in the neck to do on Windows, but I did it so it's clearly feasible). The error you have error: Unable to find vcvarsall.bat means you don't have the tools installed, or the environment properly set up.

    For the second case, you have different kinds of pre-compiled packages:

    • wheels, which you install with pip as well
    • installers, which you use as standard installers on Windows

    For both, you need to check that the binary has been strictly compiled for your Python architecture (32 or 64 bits) and version.

    An easy solution

    You can find there several wheels for numpy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy. To get the proper architecture, check in the name win32 for 32 bits and amd64 for 64 bits. To get the proper Python version, check cpXX: first X is major version, and second X is minor version, so for instance cp27 means CPython 2.7.

    Example: pip install numpy‑1.9.2rc1+mkl‑cp27‑none‑win32.whl

    The hard solution: installing and using development tools

    DISCLAIMER: all the following explanations might not be quite clear. They result from several investigations at different moments, but in my configuration they led to a working solution. Some links might be useless, or redundant, but that's what I noted. All of this requires a bit of cleaning, and probably generalization too.

    First, you need to understand that disutils - which is the pre-installed package which handles packages workflow at lower level than pip (and which is used by the latter) - will try to use a compiler that strictly matches the one that was used to build the Python machine you installed.

    Official distributions of Python use Microsoft Visual C++ for Microsoft Windows packages. So you will need to install this compiler in this case.

    How to find proper version of Visual C++

    The string printed by Python with this command python -c "import sys; print(sys.version)" (or when you invoke the interactive shell) will look like this:

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

    The last part between square brackets is the identification part of the compiler. Unfortunately, this is not quite straightforward, and you have correspondence lists there:

    • windows - What version of Visual Studio is Python on my computer compiled with? - Stack Overflow
      • visual studio - Detecting compiler versions during compile time - Stack Overflow3
      • Pre-defined Compiler Macros / Wiki / Compilers
      • WinCvt - Windows Converter toolkit

    In the example I gave above, this means Microsoft Visual C++ 2010 64 bits.

    How to install Visual C++

    You cannot find anymore a standalone package of Visual C++ for modern versions. So you will need to install the Windows SDK itself.

    Here are some reference links:

    • Download Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 from Official Microsoft Download Center: for Visual C++ 15.00 (Visual Studio 2008). Corresponds to WinSDK 7.
    • Download Microsoft Windows SDK for Windows 7 and .NET Framework 4 from Official Microsoft Download Center: for Visual C++ 16.00 (Visual Studio 2010). Corresponds to WinSDK 7.1.
    • installation - where can I download the full installer for Visual C++ Express? - Super User
      • Visual Studio & co. downloads

    Troubleshooting

    You might have an error at the installation of the 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.

    They have been reported in several questions already:

    • Windows 7 SDK Installation Failure
    • Error installing Windows 7 SDK 7.1 with VS2008, VS2010 Premium on Win 7 32bit

    As a solution, you can check this link: Windows SDK Fails to Install with Return Code 5100

    The thing is to remove all conflicting (understand: the ones that the SDK installer tries to install itself) version of the Visual C++ redistributable.

    Use development tools

    Normally you should run vsvarsall.bat (located inside the VC folder of the installation path of Visual Studio - example: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat) to set up the proper environment variables so that the execution of distutils doesn't fail when trying to compile a package.

    This batch script accepts a parameter, which should set the wanted architecture. However I saw that with the free versions of the SDK some additional scripts were missing when trying several of these parameters.

    Just to say that if you are compiling for a 32 bits architecture, simply calling vsvarsall.bat should work. If you need to compile for 64 bits, you can directly call SetEnv.cmd, located somewhere under inside the SDK installation path - example: "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64.

    0 讨论(0)
  • 2020-12-03 03:01

    I too faced the above problem while setting up python for machine learning.

    I followed the below steps :-

    Install python-2.7.13.msi

    • set PATH=C:\Python27

    • set PATH=C:\Python27\Scripts

    Go to http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

    Downloaded:- • numpy-1.13.1+mkl-cp27-cp27m-win32.whl • scipy-0.18.0-cp27-cp27m-win32.whl

    Installing numpy: pip install numpy-1.13.1+mkl-cp27-cp27m-win32.whl

    Installing scipy: pip install scipy-0.18.0-cp27-cp27m-win32.whl

    You can test the correctness using below cmds:-

    >>> import numpy
    >>> import scipy
    >>> import sklearn
    >>> numpy.version.version
    '1.13.1'
    >>> scipy.version.version
    '0.19.1'
    >>>
    
    0 讨论(0)
提交回复
热议问题