0

Pythonスクリプト内でChromiumのCompactLanguageDetectorライブラリを利用する必要があります。

AFAIK、このライブラリを活用する2つのプロジェクトがありますが、Windows7マシンでどちらかをセットアップするのに問題がありました。

Mike McCandless Original ProjectGoogleCode)でも同様の問題が発生しましたが、同じProjectgithub)でMattSanfordフォークを見つけました。この質問の目的のために、私はMattsプロジェクトに焦点を当てます。これは、より頻繁に更新されているようです(ただし、どちらのプロジェクトでも機能する回答が得られれば幸いです)。

  • プロジェクトをzipとしてダウンロードし、ローカルドライブに解凍しました。
  • CMDからvcvarsall.batを実行しました
  • 次に、build.win.cmdバッチファイルを実行しました。これは問題なく実行されました。
  • 結果のlibcld.libをports/python/cld.libにコピーしました
  • setup.pyを実行しようとしましたが、12行目に対して次のように返されます。

    exceptions.TypeError:init()キーワードは文字列である必要があります

++編集++この問題が見つかりました:

setup.pyはWindowsで失敗します。これを修正するためのハックな解決策は、pkgconfigがdict {'define_macros':[('WIN32'、None)]、'libraries':packages}を返すようにすることです。

少し新人ですが、このハックを実装する手順については完全にはわかりません。誰かが私にもう少し冗長な手順を教えてもらえますか?

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 に答える