一篇转帖,为以后碰到error: Python was built with Visual Studio 2003; 这种恶心问题找个棒槌

( 转帖)如果你有陈旧的vs2003编译器,那么这篇短文或者意义不是很大, 
http://blog.donews.com/tekjian/archive/2006/08/06/990279.aspx 有简单的介绍如何直接安装这个玩意儿。 
但是,现在很多人都用上了vs2005或者vs2008,可是python还是用的2.5.x版。这个时候痛苦就来了, 
下载完python-sybase-0.38之后,如果你执行: 
python setup.py intall, 
肯定会出这样的错: 

引用
error: Python was built with Visual Studio 2003; 
extensions must be built with a compiler than can generate compatible binaries. 
Visual Studio 2003 was not found on this system. If you have Cygwin installed, 
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.


经过若干周折,发现,有办法绕过去,让vs2008直接支持编译安装。 
先让sybase.bat环境变量生效,接着让vcvars.bat生效,(即执行这两个 bat) 

把ASE15.x\OCS-150\lib下的三个文件libsyb*.lib,重命名为lib*.lib, 这三个新文件是:libct.lib, libcs.lib, libblk.lib 

然后要修改python\Lib\distutils\msvccomiler.py, 找到: 
Java代码  
# x86  
if self.__version >= 7:  
  self.__root = r"Software\Microsoft\VisualStudio"  
  self.__macros = MacroExpander(self.__version)  
else:  
  self.__root = r"Software\Microsoft\Devstudio"  

  # x86
  if self.__version >= 7:
  self.__root = r"Software\Microsoft\VisualStudio"
  self.__macros = MacroExpander(self.__version)
  else:
  self.__root = r"Software\Microsoft\Devstudio"
注释掉这一行:self.__macros = MacroExpander(self.__version) 

之后,把对应的pyc文件删掉,让它强制重新编译。 

设置两个环境变量:set DISTUTILS_USE_SDK=1 
set MSSdk=1 

这之后执行python setup.py install, 就可以完全成功的安装了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值