今天编译一个python模块,我的python版本是2.5,vc是6.0,结果不成功提示说要用vs2003来编译,很郁闷便google之,没有找
到一篇可操作的文字,更加郁闷,索性翻python编译的代码,发现在Python25\Lib\distutils\msvccompiler.py里
面判断的,直接把相关代码全部注释掉,再编译结果就ok了,注释以下两处代码:
try
:
if version > 7.0 :
self.set_macro( " FrameworkSDKDir " , net, " sdkinstallrootv1.1 " )
else :
self.set_macro( " FrameworkSDKDir " , net, " sdkinstallroot " )
except KeyError, exc:
raise DistutilsPlatformError, \
( """ 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. """ )
if version > 7.0 :
self.set_macro( " FrameworkSDKDir " , net, " sdkinstallrootv1.1 " )
else :
self.set_macro( " FrameworkSDKDir " , net, " sdkinstallroot " )
except KeyError, exc:
raise DistutilsPlatformError, \
( """ 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. """ )
if
len (self.
__paths
)
==
0:
raise DistutilsPlatformError, \
( " Python was built with %s, "
" and extensions need to be built with the same "
" version of the compiler, but it isn't installed. " % self. __product )
raise DistutilsPlatformError, \
( " Python was built with %s, "
" and extensions need to be built with the same "
" version of the compiler, but it isn't installed. " % self. __product )