在Windows上安装CLOUD库并绑定到Python

时间:2012-11-11 02:50:05

标签: c++ python github language-detection

我需要在Python脚本中使用Chromium的Compact Language Detector库。

AFAIK,有两个利用这个库的项目,但是我在使用Windows 7机器设置其中任何一个时都遇到了麻烦。

我在使用Mike McCandless Original ProjectGoogleCode)时遇到了类似问题,但后来发现Matt Sanford fork on the same Projectgithub)。出于这个问题的目的,我将重点关注Matts项目,因为它似乎更频繁地更新(但很高兴得到适用于任一项目的答案)。

  • 以zip格式下载the project,并解压缩到我的本地驱动器。
  • 来自CMD的Ran vcvarsall.bat
  • 然后运行build.win.cmd批处理文件。这ran ok
  • 将生成的libcld.lib复制到ports / python / cld.lib
  • 尝试运行setup.py,但它在第12行返回以下内容。

    exceptions.TypeError: init ()关键字必须是字符串

++ ++ EDIT 找到了这个issue

  Windows上的

setup.py失败。解决这个问题的黑客解决方案是制作   pkgconfig返回dict {' define_macros':[(' WIN32',None)],   '图书馆&#39 ;:包}

我是一个新手,但不完全确定实施这个黑客的步骤。任何人都可以给我一些稍微冗长的步骤吗?

1 个答案:

答案 0 :(得分:2)

试试这个补丁(works for me):

diff --git a/ports/python/setup.py b/ports/python/setup.py
index e1950c3..889f21a 100644
--- a/ports/python/setup.py
+++ b/ports/python/setup.py
@@ -9,7 +9,10 @@ def pkgconfig(*packages, **kw):

 module = Extension('cld',
                    ['pycldmodule.cc'],
-                   **pkgconfig('cld'))
+                   define_macros=[('WIN32', None)],
+                   libraries=['libcld'], 
+                   include_dirs=['..\\..\\'],
+                   library_dirs=['..\\..\\'])

 setup(name='cld',
       version='0.031415',