系统环境是win7(64bit)+python3.4(64bit)+numpy1.82+vs2012
1.假设用sourceforge上编译好的32bit的exe安装,会提示‘python version ** required,which was not found in the registry’.
原因是安装的python是64bit的吧(不确定),可是注冊表里确实没有,
2.自己手动编译numpy安装,在numpy文件夹下cmd里‘python setup.py build‘会提示‘unable to find vcvarsall.bat‘,
原因是python默认使用的是vs2008版本号,打开‘<python安装文件夹>\lib\distutils\msvc9compiler.py’发现默认的搜索文件夹下
的确没有vcvarsall这个文件。假设把vcvarsall移动到这个文件夹,就会出现第三个问题。一般的解决方法是使用mingw。
最好的解决方法直接在msvc9compiler.py文件里找到以下这一行:
vc_env = query_vcvarsall(VERSION, plat_spec)
改动为:
vc_env = query_vcvarsall(11.0, plat_spec)
我的是vs2012 相应的version就是11.0
详细为什么这样改,參考http://blog.csdn.net/ren911/article/details/6448696
但这样更改后会出现第4个问题。
3.C:\Python33\lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: [‘lib‘, ‘include‘, ‘path‘]
这个问题没找到有效的解决方法 能够通过2种改version的方法避开这个问题
4.RuntimeError: Broken toolchain: cannot link a simple C program
在msvc9compiler.py中,把minfo的赋值语句更改为minfo=None,就可以
5.由于安装的是64bit-python,看网上大家安装nltk各种问题,官网也不建议使用64bit python,
所以查了不少的安装教程,可是出乎意料build和install没出现不论什么问题。