Установка пакета Python из исходного кода с помощью Microsoft Visual Build Tools 2017

У меня есть пакет Python, который не удается установить из-за зависимости от инструментов сборки Windows.

Что я пробовал:

  1. Установите последнюю версию Visual Studio 2017 (насколько мне известно, она должна содержать Microsoft Visual C++ 14.0).

  2. Установите инструменты сборки для Visual Studio 2017 прямо отсюда https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017.

  3. Явно поместите C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools на мой путь.

  4. Удалите всю Visual Studio и повторите попытку.

Пока не повезло. Я попытался перезапустить терминал, перезагрузить компьютер и т. д. Я использую GitBash, что может быть актуально, хотя в остальном это никогда не вызывает у меня никаких проблем.

Когда я устанавливал инструменты, я обязательно проверил рабочий процесс «Инструменты сборки Visual C++», который выбрал некоторое подмножество многих элементов строки, которые были доступны на вкладке «Отдельные компоненты».

В моем примере ниже я устанавливаю языковую модель, но я считаю, что моя проблема носит более общий характер. Мне трудно понять, какие из многих компонентов имеют отношение к моей задаче. Я хотел бы знать следующее: как мне проверить правильность настройки инструментов сборки и правильную версию? Любые советы или рекомендации здесь будут высоко оценены.

ошибка:

$ pip36 install https://github.com/kpu/kenlm/archive/master.zip
Collecting https://github.com/kpu/kenlm/archive/master.zip
  Downloading https://github.com/kpu/kenlm/archive/master.zip (526kB)
Installing collected packages: kenlm
  Running setup.py install for kenlm: started
    Running setup.py install for kenlm: finished with status 'error'
    Complete output from command c:\users\ks99999999\appdata\local\programs\python\python36-32\python.exe  -u -c "import setuptools, tokenize;__file__='C:\\Users\\ks99999999\\AppData\\Local\\Temp\\pip-tfn5ym94-b uild\\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\ks99999999\AppData\Local\Temp\pip-r2e ogfmd-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'kenlm' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http: //landinghub.visualstudio.com/visual-cpp-build-tools

    ----------------------------------------
Command "c:\users\ks99999999\appdata\local\programs\python\python36-32\python.exe -u -c "import setuptool s, tokenize;__file__='C:\\Users\\ks99999999\\AppData\\Local\\Temp\\pip-tfn5ym94-build\\setup.py';f=getatt r(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __ file__, 'exec'))" install --record C:\Users\ks99999999\AppData\Local\Temp\pip-r2eogfmd-record\install-rec ord.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\ks99999999\Ap pData\Local\Temp\pip-tfn5ym94-build\

person Sledge    schedule 26.03.2018    source источник
comment
Вы добавляли его в свой Windows PATH или в свой путь bash?   -  person Priansh Shah    schedule 26.03.2018
comment
Какую версию setuptools вы используете?   -  person 2ps    schedule 26.03.2018
comment
Вы пробовали перезагружаться после установки? Кроме того, вы уверены, что ошибка такая же после установки инструментов сборки?   -  person sytech    schedule 26.03.2018
comment
Кроме того, Visual C++ 14 находится в VS 15, а не в VS 17. У меня были случаи, когда он не работал с VS 17 из-за явного требования 14.0; Эта ссылка сработала для меня   -  person Priansh Shah    schedule 26.03.2018
comment
@Priansh Я добавил его в переменную среды PATH в дополнительных настройках.   -  person Sledge    schedule 26.03.2018
comment
@sytech Я несколько раз перезагружался, и после установки инструментов сборки возникает одна и та же ошибка.   -  person Sledge    schedule 26.03.2018


Ответы (1)


Microsoft Visual Studio не поставляется в комплекте с каким-либо компилятором VC (или любым компилятором в целом). Ваша установка имеет модульную структуру, поэтому вам нужно убедиться, что вы действительно установили визуальный С++ при установке VS2017. Более того, IIRC, VS2017 поставляется с Microsoft Visual C++ 15.0. Вы можете установить компилятор 14.0 с автономными инструментами сборки Microsoft Visual Studio 2015. Убедитесь, что у вас установлена ​​правильная версия setuptools.

Вы можете проверить, какая версия MSVC установлена, заглянув в меню «Пуск» -> «Установка и удаление программ» и проверив список установленных программ.

person 2ps    schedule 26.03.2018
comment
У меня Windows 10, поэтому нет меню Пуск. Я проверил настройки и вижу, что версия Visual Studio 2017 года все еще не уверена, как напрямую проверить версию Visual C++... - person Sledge; 26.03.2018
comment
Похоже, я не выбрал правильное подмножество параметров при первоначальной настройке инструментов сборки. Я сделал это, и теперь я прошел этот шаг. - person Sledge; 26.03.2018