Python pip в Windows - команда cl.exe не удалась

Я пытаюсь установить spaCy с помощью pip install spacy, но я получаю следующую ошибку.

введите описание изображения здесь

У меня установлен VS 2015, и у меня есть следующая установка Python..

3.5.2 |Anaconda 2.5.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]

Я попробовал следующие SO-решения безрезультатно.

Как и другие. Это не уникальная проблема для этой конкретной библиотеки, но, как правило, в любое время я пытаюсь установить библиотеки Python, которым требуется C для создания на Windows.

Ответ 1

Вам необходимо установить cl.exe (компилятор Microsoft C) на вашем компьютере и в PATH. PATH - это переменная среды, которая сообщает Windows, где искать исполняемые файлы.

Во-первых, убедитесь, что C++ инструменты сборки для Visual Studio установлены. Вы можете загрузить Инструменты сборки для Visual Studio отдельно со страницы загрузок Visual Studio, а затем выбрать C++ инструменты сборки в программе установки. Если у вас уже есть Visual Studio, вы также можете установить разработку рабочего стола с C++ из установщика Visual Studio, который должен быть в меню "Пуск".

Затем вместо обычной командной строки или PowerShell используйте одну из специальных командных приглашений в папке Visual Studio в меню "Пуск". Для 32-битного Python вы, вероятно, ищете командную строку для собственных инструментов x86. Это автоматически устанавливает PATH, так что можно найти cl.exe.

Ответ 2

Это простое простейшее решение. Для тех, кто не знает, как это сделать:

  1. Установите компилятор C++ http://landinghub.visualstudio.com/visual-cpp-build-tools

  2. Перейдите в папку установки (в моем случае это): C:\Program Files (x86)\Microsoft Visual C++ Инструменты сборки

  3. Open Visual C++ 2015 x86 x64 Перекрестные инструменты сборки Командная строка

  4. Тип: pip install package_name

Ответ 3

В моем случае мне нужно установить дополнительные инструменты из Visual Studio (я использую VS 2017 Community и Python 3.6.4). Я установил эти инструменты (см. Снимок экрана установщика здесь):

  1. Разработка рабочего стола с помощью C++: я включил все дефолтные элементы и следующие:

    • Поддержка Windows XP для C++
    • Поддержка C++/CLI
    • V C++ 2015.3 v140 набор инструментов
  2. Разработка Linux с помощью C++

Затем я открыл Windows PowerShell в качестве прав администратора (щелкните правой кнопкой мыши, чтобы открыть) и переместите папку установки Visual Studio и найдите этот путь:

cd [Visual Studio Path]\VC\Auxiliary\Build

Затем я выполнил этот файл:

.\vcvars32.bat

После этого я использую pip как обычно, например, я хотел установить Mayavi:

pip install mayavi

Я надеюсь, что это тоже поможет кому-то.

Ответ 4

Просто добавлен ответ от Kunal Mathur и ответ на @mockash, так как я не могу комментировать из-за отсутствия репутации.

Прежде чем вводить: pip install имя_пакета, вам нужно сменить каталог в папку, где находится pip.exe. например:

Открыть Visual С++ 2015 x86 x64 Перекрестные инструменты сборки Командная строка → изменить каталог cd C:\Users\Test\AppData\Local\Programs\Python\Python36-32\Scripts → Тип: pip install package_name

Но странно, что я могу только успешно установить через 'Visual C++ 2015 x64 x86' not 'x86 x64'

Ответ 5

См. Эту ссылку:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#cytoolz

Загрузите правильный пакет whl для вашей версии python (если у вас есть проблемы с пониманием того, какая версия python у вас есть, просто обед переводчика)

используйте pip для установки пакета, предполагая, что файл находится в папке загрузки, и у вас есть python 3.6 32 бит:

python -m pip install C:\Users\%USER%\Downloads\cytoolz-0.9.0.1-cp36-cp36m-win32.whl

это недействительно только для этого пакета, но для любого пакета, который не может скомпилироваться под вашей собственной установкой Windows.

Ответ 6

Я столкнулся с той же проблемой с визуальной студией 2017.

вы можете найти cl.exe в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86.

просто установите переменную окружения как способный адрес и запустите команду в anaconda, это сработало для меня.

Ответ 7

Я много раз сталкивался с этой проблемой. Существует cl.exe но по какой-то странной причине pip не смог найти его, даже если мы запустим команду из папки bin где присутствует cl.exe. Попробуйте использовать программу установки conda, она отлично работает для меня.

Как вы можете видеть на следующем изображении, pip не может найти cl.exe. Затем я попытался установить с помощью conda

image 1

И, к моему удивлению, он устанавливается без ошибок, если у вас установлена правильная версия vs cpp build tools, то есть v14.0 в правильном каталоге.

image 2

Ответ 8

  1. Установите средство визуализации Microsoft Visual c++ 14.0 (Windows 7)
  2. создать виртуальную среду, используя конду.
  3. Активируйте среду и используйте conda для установки необходимого пакета.

Например: conda install -c conda-forge spacy