NLTK без X11 на OSX (EPD 64-битный Python)

Я только что установил последнюю версию NLTK (2.0.4) из pip на OSX 10.8.2. Эта версия OSX не поставляется с X11, и мне она нравится, я не хочу ее устанавливать. Однако, когда я пытаюсь импортировать nltk в python (2.7.2) всплывает диалоговое окно OSX, говорящее, что мне нужно установить X11??

Это, вероятно, связано с Tkinter и загрузчик NLTK (или что-то подобное) и, возможно, просто вопрос установки какого-либо параметра конфигурации где-нибудь, чтобы не использовать X11, я просто не знаю, где установить этот параметр.

Есть сообщение об ошибке для nltk-0.9.5 что tk Зависимости необходимы, и это nltk невозможно запустить сервер, на котором нет библиотек графического интерфейса, но эта проблема была помечена как решенная давно.

Обратите внимание, что я не пытаюсь запустить nltk загрузчик или что-нибудь еще, что должно потребовать графический интерфейс любого рода, я просто пытаюсь запустить import nltk когда появится диалоговое окно.

Документы по установке NLTK не дают никаких указаний на то, что X11 требуется.

Так как я могу получить nltk работать на OSX 10.8 без X11?

1 ответ

Решение

Оказывается, проблема действительно была Tkinter, Я использую 64-битную версию EPDPython для Mac и по какой-то причине они решили связать Tk/Tcl с X11 вместо аква или какао.

Однако OsX 10.8 поставляется с предустановленной верной версией Tk/Tcl и установкой Python по умолчанию. /usr/bin/python.2.7 работает из коробки, потому что он использует правильную систему управления окнами для Tkinter, Решение состоит в том, чтобы просто удалить неправильные библиотеки из установки EPD, и они будут возвращаться к правильным системным.

Чтобы проверить, будет ли предложенное исправление работать, запустите системный python с

$ /usr/bin/python2.7
Python 2.7.2 (default, Jun 20 2012, 16:23:33) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from Tkinter import *
>>>

это должно завершиться без проблем (без диалоговых окон), если вы используете системный python, удалите эти

/Library/Frameworks/EPD64.framework/Versions/7.2/lib/libtcl8.5.dylib
/Library/Frameworks/EPD64.framework/Versions/7.2/lib/libtk8.5.dylib
/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/lib-dynload/_tkinter.so

и Python должен прибегнуть к системным в

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_tkinter.so
Другие вопросы по тегам