我试图用pip安装scispacy,发现nmslib的安装引起了问题。互联网上有很多有关如何解决此问题的帖子,但似乎没有一个对我有用。
我正在Windows 10笔记本电脑上运行Python 3.7.4 点是版本19.2.1
这是日志中的错误部分
2019-08-08T18:25:20,901 ERROR: Command errored out with exit status 1: 'c:\users\andre\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\andre\\AppData\\Local\\Temp\\pip-install-y6n2f026\\nmslib\\setup.py'"'"'; __file__='"'"'C:\\Users\\andre\\AppData\\Local\\Temp\\pip-install-y6n2f026\\nmslib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\andre\AppData\Local\Temp\pip-record-90f_5c93\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.
2019-08-08T18:25:20,902 Exception information:
2019-08-08T18:25:20,902 Traceback (most recent call last):
2019-08-08T18:25:20,902 File "c:\users\andre\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\cli\base_command.py", line 188, in main
2019-08-08T18:25:20,902 status = self.run(options, args)
2019-08-08T18:25:20,902 File "c:\users\andre\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\commands\install.py", line 407, in run
2019-08-08T18:25:20,902 use_user_site=options.use_user_site,
2019-08-08T18:25:20,902 File "c:\users\andre\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\req\__init__.py", line 58, in install_given_reqs
2019-08-08T18:25:20,902 **kwargs
2019-08-08T18:25:20,902 File "c:\users\andre\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\req\req_install.py", line 959, in install
2019-08-08T18:25:20,902 spinner=spinner,
2019-08-08T18:25:20,902 File "c:\users\andre\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\utils\misc.py", line 934, in call_subprocess
2019-08-08T18:25:20,902 raise InstallationError(exc_msg)
2019-08-08T18:25:20,902 pip._internal.exceptions.InstallationError: Command errored out with exit status 1: 'c:\users\andre\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\andre\\AppData\\Local\\Temp\\pip-install-y6n2f026\\nmslib\\setup.py'"'"'; __file__='"'"'C:\\Users\\andre\\AppData\\Local\\Temp\\pip-install-y6n2f026\\nmslib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\andre\AppData\Local\Temp\pip-record-90f_5c93\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.
几周前,我遇到了同样的问题,在尝试过的上百万次尝试中,我能够使它正常工作,但是当时我还不确定我是如何做到的。我现在在新电脑上,问题不会消失。
答案 0 :(得分:0)
nmslib
是c++
库上的python包装器。因此,它可能在少数系统上引起问题。我有同样的问题。
请从here克隆存储库并手动安装,而不要进行pip
安装。
尝试以下操作之一。
根据here的评论,nmslib
是可选的,仅在将其用于链接程序时才是必需的。因此,您可以从requirements.txt中对其进行评论,然后再进行操作通过setup.py
或
在您的requirements.txt file
中,将numpy
添加到顶部,然后通过setup.py
文件进行安装。
尽管上述步骤可能会引发VC ++错误,但是scispacy
模块将被安装,您将能够导入它。
我尝试了两种解决方案,它们为我工作。
注意:另外,根据我的评论,我了解到,现在您可以直接使用spacy
并加载scispacy
模型,前提是您已经下载并安装了这些模型。< / p>
pip install en_core_sci_sm
import spacy
nlp = spacy.load("en_core_sci_sm")
让我知道哪一个适合您。