Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python nltk.download()挂起在OS X上_Python_Nltk - Fatal编程技术网

Python nltk.download()挂起在OS X上

Python nltk.download()挂起在OS X上,python,nltk,Python,Nltk,nltk.download()正在OS X上为我挂起。下面是发生的情况: $python >>> Python 2.7.2 (default, Oct 11 2012, 20:14:37) >>> [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin >>> import nltk >>> nltk.download()

nltk.download()
正在OS X上为我挂起。下面是发生的情况:

$python
>>> Python 2.7.2 (default, Oct 11 2012, 20:14:37) 
>>> [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
>>> import nltk
>>> nltk.download()

showing info http://nltk.github.com/nltk_data/
之后,它完全冻结

我安装的所有东西都是根据。我使用的是OSX10.8.3。在我的Linux机器上,它可以正常工作


有什么想法吗?

试着运行
nltk。下载\u shell()
,因为下载程序UI很可能出现问题。运行
download\u shell()
函数将绕过它。

我在这方面也遇到了问题,我最终采用了以下解决方法:

>cd/usr/lib
--将目录更改为所需的安装目录

>sudo idle
--以管理员身份运行交互式解释器(超级用户do)

此时,系统会在启动空闲前询问您的密码。 然后,在idle中,nltk.download()函数可以正常工作:


>>nltk.download()

在我的例子中,我在Mac上的Jupyter(IPython)笔记本中运行nlkt.download(),它在浏览器窗口后面打开了一个窗口,我不知道。我终于在任务控制中心找到了它(四个手指向上滑动)。这就是函数似乎挂起的原因。

对我来说,问题是SSL证书验证错误问题,这在Mac OS中很常见。甚至在尝试
nltk.download\u shell()
时,我也遇到了这个问题

所以,解决这个问题的方法很简单。只需在终端中运行以下命令(当然,使用您安装的相应版本的Python)即可安装SSL证书:

open /Applications/Python\ 3.7/Install\ Certificates.command

然后
nltk.download()
对我很好。

试试
nltk.download('all')
它对我很好

如果运行nltk.download_shell(),使其尝试绕过nltk downloader UI,会发生什么情况?这很有效!非常感谢Ryan!!!PS:如何标记“Ryan解决”?:-)不客气。很高兴这有帮助。我添加了我的建议作为答案,如果您想将其标记为正确答案。各位,您是否向nltk报告了问题?谢谢,在panlex停止运行后,这对我也非常有效。要补充的一点是,我一开始无法理解如何单击字母“u”进行更新,然后单击字母“o”-这是一个稍微令人困惑的提示序列。非常感谢您指出这一点。正如@dixon1e所指出的,在执行
nltk之后应该做什么。download_shell()
确实令人困惑,所以我想对这个答案再补充一点。运行此命令后,将提示执行子命令。执行
d
,然后在提示下载软件包时执行
all
。这需要很长时间,我的快速连接需要30分钟。然后键入
q
返回Python控制台提示符。最后,我得到了一个很好的解决方案,可以将所有包下载到
nltk
,命令如下
nltk.download('all')
,过一会儿,所有包都会被下载。