0

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

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

我在Mike McCandless Original Project ( GoogleCode ) 中遇到了一些类似的问题,但后来我在同一个项目( github ) 上发现了 Matt Sanford 的分支。出于这个问题的目的,我将专注于 Matts 项目,因为它似乎已经更频繁地更新(但很高兴得到适用于任一项目的答案)。

  • 将项目下载为 zip,并解压缩到我的本地驱动器。
  • 从 CMD 运行 vcvarsall.bat
  • 然后运行 ​​build.win.cmd 批处理文件。这运行正常
  • 将生成的 libcld.lib 复制到 ports/python/cld.lib
  • 尝试运行setup.py但它在第 12 行返回以下内容。

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

++EDIT++ 发现这个问题

setup.py 在 Windows 上失败。解决这个问题的黑客解决方案是让 pkgconfig 返回字典 {'define_macros': [('WIN32',None)], 'libraries': packages}

我有点菜鸟,但不完全确定实施此 hack 的步骤。谁能给我一些稍微详细一点的步骤?

4

1 回答 1

2

试试这个补丁(对我有用):

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',
于 2012-11-11T04:19:09.123 回答