使用Python3.6安装NLTK时出错
问题描述:
我试图运行“pip install nltk”,但得到如此多的错误。尽管我试图安装导致错误的依赖关系,但它们并没有被安装。使用Python3.6安装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?和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 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
Py3.6尚未正式支持,请参阅https://github.com/nltk/nltk/issues/1659 – alvas
可能的重复http://*.com/questions/42313776/nltk-for-python- 3-6功能于windows64 – alvas