使用 Python3.6 安装 NLTK 时出错

Error while installing NLTK with Python3.6

我尝试 运行 "pip install nltk" 但出现了很多错误。虽然我尝试安装导致错误的依赖项,但它们也没有安装。

Invalid requirement: 'nltk()'
Traceback (most recent call last):
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\packagi
ng\requirements.py", line 92, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\pyparsi
ng.py", line 1617, in parseString
    raise exc
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\pyparsi
ng.py", line 1607, in parseString
    loc, tokens = self._parse( instring, 0 )
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\pyparsi
ng.py", line 1379, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\pyparsi
ng.py", line 3376, in parseImpl
    loc, exprtokens = e._parse( instring, loc, doActions )
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\pyparsi
ng.py", line 1383, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\pyparsi
ng.py", line 3164, in parseImpl
    raise ParseException(instring, loc, self.errmsg, self)
pip._vendor.pyparsing.ParseException: Expected stringEnd (at char 4), (line:1, c
ol:5)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\req\req_install
.py", line 82, in __init__
    req = Requirement(req)
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\_vendor\packagi
ng\requirements.py", line 96, in __init__
    requirement_string[e.loc:e.loc + 8]))
pip._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, pars
e error at "'()'"

请检查截图是否有误:Error Screenshot

您似乎没有安装包的权限。以管理员身份尝试运行命令行。

Python 包管理的最佳做法是 创建虚拟环境 ,请参阅 http://python-guide-pt-br.readthedocs.io/en/latest/dev/virtualenvs/

首先为本地用户

安装virtualenv
pip install --user virtualenv

How to install python modules without root access? and PEP370

对于Python2.7,在my_nltk_project

目录下创建虚拟环境
virtualenv -p /usr/bin/python2.7 my_nltk_project

或 Python3:

virtualenv -p /usr/bin/python3.5 my_nltk_project
source my_nltk_project/bin/activate

确保Python3是Py3​​.4或者Py3.5,Py3.6还没有正式支持,见https://github.com/nltk/nltk/issues/1659

现在您应该处于虚拟环境中,您的命令提示符将如下所示:

(my_nltk_project):~$ 

现在进行 pip 安装:

pip install nltk

可选,使用-U选项是升级nltk(pip install -U nltk)

完成环境后,只需执行此操作即可离开环境:

(my_nltk_project):~$ deactivate

重用环境:

:~$ source my_nltk_project/bin/activate

或者,您可以在没有虚拟环境的情况下尝试此操作:

pip install --user nltk

如果您使用的是 Windows 机器,强烈建议您使用 conda 来管理 NLTK 包,请参阅 https://gist.github.com/alvations/0ed8641d7d2e1941b9f9