Установка библиотеки CLD в Windows и привязка к Python

Мне нужно использовать библиотеку Chromium Compact Language Detector в скрипте Python.

AFAIK, есть два проекта, которые используют эту библиотеку, но у меня были проблемы с настройкой любого из них на компьютере с Windows 7.

У меня были похожие проблемы с Mike McCandless Оригинальный проект (GoogleCode), но я тогда заметил Мэтт Санфорд форк на том же проекте (GitHub). Для целей этого вопроса я остановлюсь на проекте Matts, так как он, кажется, обновлялся чаще (но был рад получить ответ, который подходит для любого проекта).

  • загруженный проект в виде почтового индекса и распакован на мой локальный диск.
  • Запустил vcvarsall.bat из CMD
  • Затем запустил пакетный файл build.win.cmd. это побежал хорошо.
  • Скопировал полученный libcld.lib в ports / python / cld.lib
  • Попробовал запустить setup.py но он возвращается со следующим против строки 12.

    exceptions.TypeError: в этом() ключевые слова должны быть строками

++EDIT ++
Нашел это вопрос:

setup.py не работает в Windows. Хакерское решение исправить это сделать
pkgconfig возвращает dict {‘define_macros’: [(‘WIN32’, None)],
‘библиотеки’: пакеты}

Я немного новичок, но не совсем уверен в шагах по реализации этого хака. Кто-нибудь может дать мне несколько более подробных шагов?

0

Решение

Попробуй этот патч (работает для меня):

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',
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]