在Windows10 Pro上安装NLTK时出错

时间:2017-01-08 12:52:16

标签: windows-10 nltk

我正在尝试在Windows10 Pro 64位上安装NLTK。它给了我以下错误。

  

需要Python版本-32,这在注册表中找不到。

我在我的机器上安装了python 3.5.0(32位),并在路径变量中添加了以下内容。 C:\用户\ MYNAME \应用程序数据\本地\程序\ Python的\ Python35-32 \脚本\ C:\ Users \用户MYNAME \应用程序数据\本地\程序\的Python \ Python35-32 \

有人可以帮我继续安装NLTK吗?

3 个答案:

答案 0 :(得分:1)

如果您是Python的新手,使用预先组装的Python发布版可能很简单(即使更大)。

例如: Anaconda-4.2.0 in Python 3.5" flavor"应该在框https://docs.continuum.io/anaconda/pkg-docs

中有nltk

答案 1 :(得分:0)

我没有运行Windows 10,而是运行Windows 8.但是,我想分享我最近几天学到的关于在64位Windows平台上安装NLTK的问题,因为我相信它可能适用于此(和对其他一些类似的问题)。

NLTK,最新版本nltk-3.2.2.win32(msi安装程序)不会安装本地64位Python主机(换句话说,如果您使用的是Windows 64平台,之前决定安装64位版本的Python)。但是,它并没有告诉你。它抱怨Python 32是必需的,无法找到,然后不允许您输入Python安装的路径(我的是ActivePython-2.7.10.12-win64-x64)。这里有一篇很好的帖子描述了大多数解决方案Fix for NLTK install on Win 64

简而言之,您可以卸载Python 64位安装并安装32位,这是NLTK真正想要的,或者您可以尝试使用pip install pyyaml nltk在本地构建NLTK安装(请参阅上面链接的帖子) )。

我的贡献是补充一点,虽然你最终会安装NLTK,但你可能仍然无法正确构建pyyaml,因为它必须编译和构建ac代码扩展(一个Windows dll,对于c中的Python扩展,它将是一个pyd扩展而不是如果名称与系统某处的另一个dll相交,则为了节省额外的混淆而不是dll。 Windows系统有一个令人困惑的用户目录路径数组和编译器(即使你安装了MSVC并知道如何使用它)也无法找到必要的库文件,通常是从distutils调用它时(调用的python构建帮助程序之一) )。您可以在命令控制台会话中保存错误输出,并尝试在本地路径上手动指向相应的配置文件,但在这种情况下更简单的方法是简单地获取pyyaml正在尝试构建的正确编译文件。上面的安装过程通常会继续并将pyyaml python文件(.py文件)放在您的site-packages目录中(在您的本地Python安装目录下),所以您需要做的就是获取已编译的文件,命名为_yaml.pyd,并将其插入您的yaml目录(这是我在site-packages目录中创建的安装过程),所有pyyaml Python文件都驻留在该目录中。

您可以在Python Packages, PyYAML 3.12获取必要的文件。在该页面,您将看到可用的PyYAML包列表。您应该选择与您的Python,Windows和NLTK要求一致的那个,在本例中是PyYAML-3.12-cp27-cp27m-win_amd64.whl(因为我在64位Windows平台上运行64位Python;如果你运行32位Python然后使用win32 whl)。需要更多解释。这看起来更令人头痛,但实际上并非如此。 whl文件只是一个zip包,您可以使用7-Zip或系统上的任何zip提取器提取(右键单击下载的文件以探索可能性)。只需在桌面等上提取它,你会发现里面有三个项目。其中两个是文件夹,您可以忽略(您可能要验证yaml文件夹与您在site-packages目录中使用pip安装的文件夹具有相同的.py文件,但是如果您要安装最新的NTLK应该是真的)。第三项是您的目标_yaml.pyd。将其复制或移动到您的... site-packages / yaml /目录中(我的是#34; C:\ Python27 \ Lib \ site-packages \ yaml")。不要担心所有其他文件都有.py或.pyc文件。它会在家里。这个PyYAML软件包的作者Kirill Simonov比平常更容易使用这个c扩展,为你提供了.py文件(cyaml.py)的本地钩子。 cyaml.py通过"从_yaml import CParser,CEmitter,"导入所有c代码。所以很高兴找到你刚刚复制的_yaml.pyd,而不会有任何烦恼。我在执行了这个策略之后昨天运行了NLTK单元测试,并且在NLTK网站上提供了一些测试,并且它非常高兴(只需要下载更多的语料库等等,但是如果你的第一个很快就会发现import nltk works)。

我注意到我已经使用过这个chicanery来避免在其他几个场合的安装过程中我需要的只是一个轮组件,即我只是得到了合适的轮子,提取文件并将它们放在Python安装中(作为Wheel包格式的一个有吸引力的特征提到的东西)。

答案 2 :(得分:-1)

您可以尝试以管理员身份打开cmd并粘贴此命令:

"C:\Python\Python36-32\Scripts\pip3" install nltk

注意:在您的情况下,python的安装目录可能不同。在我的情况下,命令是

"C:\Users\Faith\AppData\Local\Programs\Python\Python36-32\Scripts" install nltk