Не удается установить spacy python3.7

#python-3.x #windows #spacy

#python-3.x #Windows #spacy

Вопрос:

Итак, при установке spacy я получил эту ошибку

 ERROR: Command errored out with exit status 1: 'c:usersuserappdatalocalprogramspythonpython37-32python.exe' 'c:usersuserappdatalocalprogramspythonpython37-32libsite-packagespip' install --ignore-installed --no-user --prefix 'C:UsersUserAppDataLocalTemppip-build-env-n0y5ablioverlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel 'cython>=0.25' 'cymem>=2.0.2,<2.1.0' 'preshed>=3.0.2,<3.1.0' 'murmurhash>=0.28.0,<1.1.0' thinc==7.4.1 Check the logs for full command output.
  
    command: 'c:usersuserappdatalocalprogramspythonpython37-32python.exe' 'c:usersuserappdatalocalprogramspythonpython37-32libsite-packagespip' install --ignore-installed --no-user --prefix 'C:UsersUserAppDataLocalTemppip-build-env-4cphnz1xoverlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel 'cython>=0.25' 'cymem>=2.0.2,<2.1.0' 'preshed>=3.0.2,<3.1.0' 'murmurhash>=0.28.0,<1.1.0' thinc==7.4.1
       cwd: None
  Complete output (65 lines):
  Collecting setuptools
    Using cached setuptools-50.3.0-py3-none-any.whl (785 kB)
  Collecting wheel
    Using cached wheel-0.35.1-py2.py3-none-any.whl (33 kB)
  Collecting cython>=0.25
    Using cached Cython-0.29.21-cp37-cp37m-win32.whl (1.5 MB)
  Collecting cymem<2.1.0,>=2.0.2
    Using cached cymem-2.0.3.tar.gz (51 kB)
  Collecting preshed<3.1.0,>=3.0.2
    Using cached preshed-3.0.2.tar.gz (167 kB)
  Collecting murmurhash<1.1.0,>=0.28.0
    Using cached murmurhash-1.0.2.tar.gz (35 kB)
  Collecting thinc==7.4.1
    Using cached thinc-7.4.1.tar.gz (1.3 MB)
  Collecting blis<0.5.0,>=0.4.0
    Using cached blis-0.4.1.tar.gz (1.8 MB)
  Collecting wasabi<1.1.0,>=0.0.9
    Using cached wasabi-0.8.0-py3-none-any.whl (23 kB)
  Collecting srsly<1.1.0,>=0.0.6
    Using cached srsly-1.0.2.tar.gz (192 kB)
  Collecting catalogue<1.1.0,>=0.0.7
    Using cached catalogue-1.0.0-py2.py3-none-any.whl (7.7 kB)
  Collecting numpy>=1.7.0
    Using cached numpy-1.19.2-cp37-cp37m-win32.whl (10.9 MB)
  Collecting plac<1.2.0,>=0.9.6
    Using cached plac-1.1.3-py2.py3-none-any.whl (20 kB)
  Collecting tqdm<5.0.0,>=4.10.0
    Using cached tqdm-4.50.2-py2.py3-none-any.whl (70 kB)
  Collecting importlib-metadata>=0.20; python_version < "3.8"
    Using cached importlib_metadata-2.0.0-py2.py3-none-any.whl (31 kB)
  Collecting zipp>=0.5
    Using cached zipp-3.3.0-py3-none-any.whl (5.3 kB)
  Using legacy 'setup.py install' for cymem, since package 'wheel' is not installed.
  Using legacy 'setup.py install' for preshed, since package 'wheel' is not installed.
  Using legacy 'setup.py install' for murmurhash, since package 'wheel' is not installed.
  Using legacy 'setup.py install' for thinc, since package 'wheel' is not installed.
  Using legacy 'setup.py install' for blis, since package 'wheel' is not installed.
  Using legacy 'setup.py install' for srsly, since package 'wheel' is not installed.
  Installing collected packages: setuptools, wheel, cython, cymem, murmurhash, preshed, numpy, blis, wasabi, srsly, zipp, importlib-metadata, catalogue, plac, tqdm, thinc
      Running setup.py install for cymem: started
      Running setup.py install for cymem: finished with status 'error'
      ERROR: Command errored out with exit status 1:
       command: 'c:usersuserappdatalocalprogramspythonpython37-32python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\User\AppData\Local\Temp\pip-install-ur6uxv4r\cymem\setup.py'"'"'; __file__='"'"'C:\Users\User\AppData\Local\Temp\pip-install-ur6uxv4r\cymem\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:UsersUserAppDataLocalTemppip-record-lp67dha5install-record.txt' --single-version-externally-managed --prefix 'C:UsersUserAppDataLocalTemppip-build-env-4cphnz1xoverlay' --compile --install-headers 'C:UsersUserAppDataLocalTemppip-build-env-4cphnz1xoverlayIncludecymem'
           cwd: C:UsersUserAppDataLocalTemppip-install-ur6uxv4rcymem
      Complete output (18 lines):
      WARNING: The wheel package is not available.
      running install
      running build
      running build_py
      creating build
      creating buildlib.win32-3.7
      creating buildlib.win32-3.7cymem
      copying cymemabout.py -> buildlib.win32-3.7cymem
      copying cymem__init__.py -> buildlib.win32-3.7cymem
      package init file 'cymemtests__init__.py' not found (or not a regular file)
      creating buildlib.win32-3.7cymemtests
      copying cymemteststest_import.py -> buildlib.win32-3.7cymemtests
      copying cymemcymem.pyx -> buildlib.win32-3.7cymem
      copying cymemcymem.pxd -> buildlib.win32-3.7cymem
      copying cymem__init__.pxd -> buildlib.win32-3.7cymem
      running build_ext
      building 'cymem.cymem' extension
      error: Microsoft Visual C   14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
  

Я использую последний Python 3.7.
Работает на Windows 10.
Python 64-разрядный.
Я не знаю, что делать.
Кроме того, я попытался переустановить Python, запустить cmd от имени администратора, но он выдает ту же ошибку.
Я также пытался найти ту же проблему, но ничего не нашел.
Справка.

Комментарии:

1. Вы сделали так, как сказано в последней строке: «Требуется Microsoft Visual C 14.0. Получите его с помощью «Инструментов сборки для Visual Studio»: visualstudio.microsoft.com/downloads «?

2. Да, вторая ошибка устранена, но не первая

3. Вы пробовали pip install wheel ?

4. @Andrew Morton, я попробую завтра

5. @AndrewMorton все еще выдает ошибку

Ответ №1:

Этот результат при установке (попытка установить пакеты из исходного кода вместо двоичных дисков в Windows) означает, что вы используете 32-разрядный python, а не 64-разрядный python.

Дважды проверьте, что python в вашей виртуальной среде действительно 64-разрядный python. Вы можете проверить sys.maxsize , чтобы проверить — так и должно быть 9223372036854775807 . Используйте python -m pip вместо, pip чтобы убедиться, что вы устанавливаете правильный venv для python версии, которую вы только что проверили.

Комментарии:

1. Я использую python64

2. Следующим предложением было бы обновить pip с pip install -U pip помощью и повторить попытку установки.

3. У меня самый последний pip

4. Эта строка действительно создает впечатление, что вы используете 32-разрядный python: c:usersuserappdatalocalprogramspythonpython37-32python.exe

5. Да, извините, это было оно