如何安装特定版本的 Spacy

Posted

技术标签:

【中文标题】如何安装特定版本的 Spacy【英文标题】:How to install Specific version of Spacy 【发布时间】:2021-10-09 14:12:16 【问题描述】:

我正在尝试安装 spacy 版本 2.0.0,它开始下载,但无法安装并出现此错误。

Found existing installation: cymem 2.0.5
Uninstalling cymem-2.0.5:
  Successfully uninstalled cymem-2.0.5
Running setup.py install for cymem ... error
ERROR: Command errored out with exit status 1:
 command: 'c:\users\taqi\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\TAQI\\AppData\\Local\\Temp\\pip-install-o890sm67\\cymem_134557a3656d414d8545e96d491823df\\setup.py'"'"'; __file__='"'"'C:\\Users\\TAQI\\AppData\\Local\\Temp\\pip-install-o890sm67\\cymem_134557a3656d414d8545e96d491823df\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\TAQI\AppData\Local\Temp\pip-record-oa_pr0r9\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\taqi\appdata\local\programs\python\python39\Include\cymem'
     cwd: C:\Users\TAQI\AppData\Local\Temp\pip-install-o890sm67\cymem_134557a3656d414d8545e96d491823df\
Complete output (17 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\cymem
copying cymem\about.py -> build\lib.win-amd64-3.9\cymem
copying cymem\__init__.py -> build\lib.win-amd64-3.9\cymem
package init file 'cymem\tests\__init__.py' not found (or not a regular file)
creating build\lib.win-amd64-3.9\cymem\tests
copying cymem\tests\test_import.py -> build\lib.win-amd64-3.9\cymem\tests
copying cymem\cymem.pyx -> build\lib.win-amd64-3.9\cymem
copying cymem\cymem.pxd -> build\lib.win-amd64-3.9\cymem
copying cymem\__init__.pxd -> build\lib.win-amd64-3.9\cymem
running build_ext
building 'cymem.cymem' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
----------------------------------------

回滚卸载 cymem 移至 c:\users\taqi\appdata\local\programs\python\python39\lib\site-packages\cymem-2.0.5.dist-info 来自 C:\Users\TAQI\AppData\Local\Programs\Python\Python39\Lib\site-packages~ymem-2.0.5.dist-info 移至 c:\users\taqi\appdata\local\programs\python\python39\lib\site-packages\cymem 来自 C:\Users\TAQI\AppData\Local\Programs\Python\Python39\Lib\site-packages~ymem 错误:命令出错,退出状态为 1:'c:\users\taqi\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\TAQI\AppData\Local\Temp\pip-install-o890sm67\cymem_134557a3656d414d8545e96d491823df\setup.py'"'"'; 文件='"'"'C:\Users\TAQI\AppData\Local\Temp\pip-install-o890sm67\cymem_134557a3656d414d8545e96d491823df\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"' from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"' "');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\TAQI \AppData\Local\Temp\pip-record-oa_pr0r9\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\taqi\appdata\local\programs\ python\python39\Include\cymem' 检查日志以获取完整的命令输出。

【问题讨论】:

您是否尝试过安装 Microsoft Visual C++ 14.0 或更高版本? 不,我已经安装了版本 3 spacy 由于一些代码我需要版本 2,我卸载了以前的版本,现在无法安装版本 2,我的 python 版本是 3.9.6 你不懂我。错误回调的最后一行是error:Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 【参考方案1】:

您正在尝试安装一个相当旧的版本(从 2017 年开始)并且没有适用于 python 3.9 的二进制***(2020 年发布)。实际上,即使对于旧版本的 python,它也没有任何二进制***,所以要安装它,你肯定需要一个编译器。这可能不是你想要的。

如果您想要 spaCy v2 而不是 spaCy v3,请像这样安装以获得最新的 v2.x 版本(无需知道确切的版本号):

pip install "spacy~=2.0"

目前是spacy==2.3.7

同样,如果您需要 v2 的特定次要版本,例如 v2.3,您也可以使用 ~= 指定:

pip install "spacy~=2.3.0"

从 v2.3.3 开始只有 python 3.9 ***。否则,您需要按照文档中的说明安装编译器:https://spacy.io/usage#source

【讨论】:

非常感谢您的最佳解释。那么如何使用 Anaconda 在 Jupyter notebook 中安装这个(版本 2.3.6 或 2.3.7)?您的解决方案有效,我可以安装它,但现在无法导入到 jupyter notebook。 当我在 cmd 中输入 pip show spacy 时。它显示有关 spacy 的信息,但无法在 Jupyter 或 Pycharm 中导入 通常你可以使用!python -m pip install ...在jupyter中安装,然后重新启动运行时。

以上是关于如何安装特定版本的 Spacy的主要内容,如果未能解决你的问题,请参考以下文章

深度学习训练 | spaCy如何在云服务器上安装使用?

如何使用 Homebrew 安装特定的 Java 版本?

Ruby:如何安装特定版本的 ruby​​ gem?

Luarocks:如何从特定帐户安装 Rock

如何使用特定的 python 版本安装 pip?

如何使用 Angular CLI 安装特定版本的引导程序