Python版本的选择,numpy, scipy等包的安装等相关问题 和 pip错误的应对

很多年前听到过类似的笑话

本人精通Word、Excel、Access、PowerPoint、Outlook Express等软件的安装于卸载;
熟练掌握VB、C++、FoxPro、SQL、java等单词的拼写;
熟悉Win7、Winphone、Linux、Mac、Android、Ios等操作系统的开关机。

当时我就笑了

—— 直到我安装了python,与他的各类包进行了反复的战斗,解决了大大小小不同的编译错误,最终还是一败涂地。。。
幸而有网上的大神相助,才算勉强得到解救

先说说python版本的选择。

2 还是 3 ?

毫无疑问是2, 软件开发一向是稳定为先,大量的旧包还没有上3的准备,但是没听说有包只开发3的。

32位还是64位?

曾经是64位。自从发现很多包的win编译只有32位,64位需要自己编译,悲愤的换为32位。

ActivePython or xx... or 原生?

原生的群众基础好,有问题有前人帮助,第三方都是大坑,经常会自己乱接管,有些问题没法搞定。

以下是python常见的安装问题

error: Unable to find vcvarsall.bat

这个几乎隔三差五就会遇到,因为python很多包都是由c写的,需要在本机编译。
网上很多办法让你安装vs2008,看着就窝火,明明vs已经出到2013了,安的什么2008.
但其实主要是因为很多包编译一定要VS90COMNTOOLS,这个老的运行模块,而实际上新的版本肯定是比旧版要强大,只不过因此名字也发生了变化,这也就是为什么有些兄弟装了新版却不行。
其实根本无需下载1G+的完整vs,我们只需要编译一下就行了。

直接给出最佳实践吧:

1.下载VC2013运行库
2.配置系统环境变量 VS90COMNTOOLS 指向 %VS120COMNTOOLS%

即可。

然后就会出现另外一个常见的错误:

cannot link a simple C program

解决:http://stackoverflow.com/questions/23064899/compiler-problems-with-pip-during-numpy-install-under-windows-8-1-7-enterprise

C:\Python27\Lib\distutils(in msvc9compiler.py):
mfinfo = self.manifest_get_embed_info(target_desc, ld_args)
to
mfinfo = None

主流问题解决完了,但是遇到了更多奇奇怪怪的问题numpy, scipy真心安不上。
大量baidu,google之后发现需要配置Forturn编译环境,看的我都要哭了。这要折腾到什么时。。。
终于,看到了大神的火炬,网上有懂编译的自己编译的最新版本的numpy, scipy的exe包,傻瓜安装。
!!!激动的哭了!!!

分享给大家:

Download 密码 op23

都是32位最新版,需要别的版本依葫芦画瓢网上搜吧。 win32 --> amd64 numpy反正好像没搜到。

另有大神给出docker解法,还是等我了解一下再分享吧。

最后,鉴于国内网络环境,pip严重受影响,推荐使用国内pypi镜像:

C:\Users\你的用户名\pip

新建pip.ini

内容为

[global]
timeout = 60
index-url = http://pypi.douban.com/simple/

即可使用豆瓣镜像。

有问题留言 或 微博私信 哦~

已有 2 条评论
  1. sss sss

    哥们 你说到我心坎上了

添加新评论