使用Python的pip命令安装numpy

NumPy 是一个基础科学的计算包。很多的科学计算特别是向量处理的时候会用到。 因为用到了,而且安装的过程中出现了一些问题,所以记录下来,便于备查。

平台: windows 8.1 64位

Python: 2.7.9 32位(已包含pip命令)

无Microsoft的VS环境

打开powershell,(事先将Python以及Python的Script的目录导入环境变量PATH中),输入

pip install numpy

会出现:

Unable to find vcvarsall.bat

的错误消息。

原因是:the Python package being installed contains the source code for a native extension module (.pyd), but does not have a pre-built copy of the module. The Python packages highlighted at pythonwheels.com have already been updated by their developers to include pre-built binaries, but many are still only available as source code.(来自微软官网)

我自己的理解是:要编译的代码中用到了C的代码,而这个包的代码发布的时候没有预先编译成Python的二进制文件,所以安装过程中需要使用C complier 编译这些模块。

所以,解决的方法就是安装 Microsoft Visual C++ Compiler for Python 2.7 。

安装成功之后,继续执行

pip install numpy

出现了下列的错误:

RuntimeError: Broken toolchain: cannot link a simple C program 

具体原因是为什么,我也没看懂,不知道为什么,但是找到了解决这个问题的方法:

在%PythonHome%Lib\distutils下,(默认是C:\Python27\Lib\distutils)修改msvc9compiler.py文件:

# embed the manifest
 # XXX - this is somewhat fragile - if mt.exe fails, distutils
 # will still consider the DLL up-to-date, but it will not have a
 # manifest.  Maybe we should link to a temp file?  OTOH, that
 # implies a build environment error that shouldn‘t go undetected.
 # change by YQ to install numpy in 2015/1/16
 mfinfo = None  #<===# mfinfo = self.manifest_get_embed_info(target_desc, ld_args)

找到这些代码,应该在648行左右,将箭头右方的代码更改成箭头左方的代码。

解决方法的网址:http://numpy-discussion.10968.n7.nabble.com/Compiling-NumPy-on-Windows-for-Python-3-3-with-MSVC-2010-td32356.html

然后再运行:

pip install numpy

终于OK了。

附测试程序:

# import the necessary packages
import numpy as np

def chi2_distance(histA, histB, eps = 1e-10):
        # compute the chi-squared distance
    d = 0.5 * np.sum([((a - b) ** 2) / (a + b + eps)
        for (a, b) in zip(histA, histB)])
    Sum = 0;
    for (a,b) in zip(histA, histB):
        E  = ((a - b) ** 2) / (a + b + eps)
        Sum += E
        print Sum/2
    # return the chi-squared distance
    return d
d = chi2_distance([0,1,2,3,4],[4,3,2,1,0])
# print d    
时间: 2024-10-07 03:09:18

使用Python的pip命令安装numpy的相关文章

利用Python的pip命令安装nump

>将python安装目录中的script的目录导入到环境变量path中 >在Windows的DOS窗口执行:pip >>将出现pip的相关信息 >在Windows中的DOS界面中执行:pip install nump >>系统会自动下载nump包,并且完成相应的安装 >>因为,我已经安装过啦,所以不会出现下载的进度条(注:下载比较缓慢) >前提:你已经安装了python3.5.2 >>python3.5.2下载链接:python官网

python下pip的安装

一.下载pip并安装 # wget  --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-1.4.tar.gz#md5=ca790be30004937987767eac42cfa44a # tar -zxf pip-1.4.tar.gz # cd pip-1.4 # python setup.py install 二.添加到环境变量PATH中: 可用 export 命令查看PATH值 [root]# e

[Python学习]——pip的安装及使用

一.pip的含义 pip是一个安装和管理 Python 包的工具 ,是easy_install的替代品. 二.pip的安装和更新 1 安装 在官网(https://pypi.python.org/pypi/pip#downloads,提供两种版本,一个是.whl的(可以查看文档), 一个是压缩包的)下载好pip后,使用python setup.py install命令对pip进行安装,并添加环境变量,如X:\Python27\Scripts,pip即可使用. 2 更新 当使用pip命令下载扩展包

python使用pip离线安装库

一.前言及环境 1. 场景及整体思路 最近在做一个大数据项目,开发过程中用自己的机子安装了很多库,开发完之后需要部署到客户那边的环境中,但是客户那边的环境是不能联网的,于是就需要离线进行库的安装. 上网搜了一下,大概思路是: 从可以联网电脑导出库的名称到文件: 下载指定库到指定文件夹: 将库名称文件和安装包拷贝到离线环境进行安装 整体流程如下图所示: 整个流程主要使用到库管理工具pip,我用的是python安装完已经存在的pip,没有pip的可自行安装. 2. 环境 win10 64bit py

Mac使用pip命令安装selenium包报错解决方法

1.使用命令:  pip install selenium 2.换成命令: python -m pip install selenium 即可成功安装 原文地址:https://www.cnblogs.com/jasmine0112/p/11756182.html

python升级pip命令版本的异常解决

正常输入升级命令: python -m pip install --upgrade pip 弹出报错及提示: 意思很明显就是当前用的权限不够修改/删除目标文件. 此时就要赋予当前操作用户一定权限才能正常升级,步骤如下 当前用户下找到python的安装目录 右击--属性--安全,在用户组和用户名中找到对应的当前操作用户,点击编辑 点击编辑后弹出对话框 同样选择当前的操作用户,在User权限中选择完全控制,点击应用--确认. 原文地址:https://www.cnblogs.com/gegepahe

python中pip的安装

pip与linux中的yum非常类似,下载.安装软件包并解决依赖问题. 安装 C:\Python33\Scripts>easy_install.exe pip Searching for pip Best match: pip 9.0.1 Processing pip-9.0.1-py3.3.egg pip 9.0.1 is already the active version in easy-install.pth Installing pip3-script.py script to C:\

python:pip命令更新库 例命令行更新scikit-learn

使用pip命令更新库 pip install --upgrade 库名 比如更新scikit-learn包 pip install --upgrade scikit-learn cannot import name MLPClassifier的解决办法: scikit-learn v0.17只有BernoulliRBM,没有MLPClassifier. 只需要把scikit-learn升级到v0.18即可. 在控制台输入下面任一个命令即可: conda update scikit-learn p

[Python]在win32上安装Numpy和Matplotlib

平台: win7-32   python3.4.3 安装过程实在是太恶心了,整理了一下方便大家,没准搜索引擎能收录到了: 遇到的问题主要有: 1.各种找不到版本兼容的下载地址 2.下载到了 .whl & .egg文件不会安装 3.安装好了文件又缺各种  module    ImportError:No module named 'six'  No module named 'dateutil'  ImportError:No module named 'pyparsing' 好了~整理了一下,具