簡體   English   中英

在OSX上不帶X11的NLTK(EPD 64位Python)

[英]NLTK without X11 on OSX (EPD 64Bit 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錯誤報告nltk-0.9.5要求tk依賴關系,並且該nltk不能在沒有gui庫的服務器上運行,但是很久以前該問題已被標記為已解決。

請注意 ,我不是在嘗試運行nltk下載器或任何需要任何類型gui的程序, import nltk在彈出對話框時嘗試運行import nltk

NLTK 安裝文檔沒有任何表明需要X11的指示。

那么,如何讓nltk在沒有X11的OSX 10.8上運行?

事實證明,問題確實出在Tkinter 我使用的是EPDPython的64位Mac版本,由於某些原因,他們決定將Tk / Tcl鏈接到X11,而不是Aqua或Cocoa。

但是OsX 10.8預裝了正確版本的Tk / Tcl,默認的python安裝/usr/bin/python.2.7可以直接使用,因為它為Tkinter使用了正確的窗口系統。 解決的方法是從EPD安裝中刪除錯誤的庫,然后將其放回到正確的系統庫上。

要嘗試建議的修復程序是否可以運行,請使用

$ /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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM