Вопрос-Ответ

Error while installing lxml through pip: Microsoft Visual C++ 14.0 is required

Ошибка при установке lxml через pip: требуется Microsoft Visual C ++ 14.0

Я нахожусь на компьютере с Windows 10 и недавно перешел с python 2.7 на 3.5. При попытке установить lxml через pip он останавливается и выдает это сообщение об ошибке-


создание расширения 'lxml.etree'
ошибка: требуется Microsoft Visual C ++ 14.0. Получите это с помощью "Microsoft Visual C ++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools


У меня установлена рабочая копия VS 2015. Когда я пытаюсь установить Visual cpp tools по этой ссылке, он сообщает, что Microsoft Visual Studio 2015 уже установлена на компьютере. Я также пытался установить распространяемые файлы Visual Studio c ++ 2015, как 64-разрядной, так и 32-разрядной версий, но в обеих говорится, что уже установлена другая версия продукта.
набор ввода в командной строке включает это -


VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\


Это означает, что путь задан.
Вероятно, это единственный ресурс, который я смог найти на SO, но в ответе предлагается откат к Python 3.4.3 с 3.5. Кто-нибудь решал проблемы такого рода?

Требуется Microsoft Visual C ++ 14.0 (не удается найти vcvarsall.bat)
РЕДАКТИРОВАТЬ: мне удалось установить его с помощью предварительно скомпилированного двоичного файла (спасибо Полу), но я все равно хотел бы знать, что является причиной этого.

Переведено автоматически
Ответ 1

Вы проверяли, что при установке Visual Studio вы устанавливали компилятор C ++? Это кажется глупым вопросом, но это ошибка, которую я допустил. Проверьте, зайдя в программу установки Visual Studio (Программы и компоненты: измените "Visual Studio 2015"), затем в разделе Programming Languages->VC++ убедитесь, что это отмечено галочкой.

Установщик Visual Studio

Ответ 2

  1. Выполнить pip install wheel

  2. Загрузите lxml с http://www.lfd.uci.edu /~gohlke /pythonlibs / #lxml, если ваша версия python 3.5, скачайте lxml-3.6.4-cp35-cp35m-win32.whl.

  3. Выполнить python -m pip install lxml-3.6.4-cp35-cp35m-win32.whl

Ответ 3

В качестве обновления к ответу от @davidsheldon выше, если вы хотите использовать Visual Studio Build Tools 2017 вместо 2015, это сработает.

Я обнаружил, что установки отдельных инструментов сборки по умолчанию было недостаточно, однако я добавил `VC ++ 2015.3 ... toolset для настольных компьютеров (x86, x64), и тогда python был доволен:

Скриншот, показывающий экран установки Visual Studio 2017

Ответ 4

Я нашел другое решение, чтобы справиться с этим: поскольку я использую anaconda python, поэтому я использую этот код:

conda install -c conda-forge scrapy
python pip