在OSX上没有X11的NLTK(EPD 64Bit Python)

时间:2012-11-15 10:18:40

标签: python x11 osx-mountain-lion nltk epd-python

我刚从OSX 10.8.2上的pip安装了最新版本的NLTK(2.0.4)。这个版本OS OSX没有附带X11,我喜欢这样,我不想安装它。但是当我尝试在python(2.7.2)中导入nltk时会弹出一个OSX对话框,说我需要安装X11 ??

这可能是由于Tkinter和NLTK下载程序(或类似的东西),可能只是设置一些配置选项而不是回到X11,我只是不知道在哪里设置选项。

nltk-0.9.5 tk需要nltk个依赖项,而nltk不能运行没有gui库的服务器,但是很久以前,这个问题已被标记为已解决。

注意我没有尝试运行import nltk下载程序或其他任何需要任何类型gui的内容,我只是想运行nltk弹出对话框时。

NLTK bug report没有任何迹象表明X11是必需的。

那么如何在没有X11的情况下让{{1}}在OSX 10.8上运行?

1 个答案:

答案 0 :(得分:1)

事实证明问题确实是Tkinter。我正在使用64位Mac版本的EPDPython,由于某种原因,他们决定将Tk / Tcl链接到X11而不是aqua或cocoa。

然而,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