首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

windows上编译python的evelDB库

2012-12-31 
windows下编译python的evelDB库本人使用的是python2.6, 32位,附上编译出来的dll , [不支持xp]http://downl

windows下编译python的evelDB库

本人使用的是python2.6, 32位,附上编译出来的dll , [不支持xp]

http://download.csdn.net/detail/toontong/4933540



 levelDB的官方库在这: http://code.google.com/p/leveldb/

但官方库是不能在win下编译过了,或是我没找到编译官方levelDB的方法,


1)在giyhub上有达人放出了可以在win编译的过的版本,以下使用的就是这个版本。

        [不支持xp, 代码中使用InitOnceExecuteOnce]

       https://github.com/chirino/leveldb/blob/master/WINDOWS.md

     diff过与官方的代码,确实有很多不一样的,其中官方有没修复某些bug就不得而已,风险自见。

通过以上方法可以编译出leveldb.lib文件。

       如果编译不过,应该是宏LEVELDB_PLATFORM_WINDOWS没定义,具体如何 加宏,使用vs界面加吧。


2)另外还要snapppy使用vs编译的工程:

· https://github.com/kmanley/snappy-msvc

此工程是vs2008的,可以转成vs2010的再编译过,得到文件:synapppy.lib

3)取出py-leveldb的代码:

      svn export http://py-leveldb.googlecode.com/svn/trunk

      修改 setup.py文件:



4)我安装的vs2010,因为python也是2008编译的,要修改C:\Python26\Lib\distutils\msvc9compiler.py 这个文件:

build\temp.win32-2.7\Release\pcapy.pyd.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.error: command 'mt.exe' failed with exit status 31

解决办法:由于vs2010的link.exe的参数稍微有些改变,所以在link的时候没有生成manifest文件,自然mt.exe找不到这个文件。只需要在msvc9compiler.py里面搜索一下MANIFESTFILE,然后在他上面加一行ld_args.append('/MANIFEST'),保存就OK了。[引自]

最后就是 python setup.py build

最后成功看到 leveldb.pyd

热点排行