Windows 10 и не удается найти vcvarsall.bat

Когда я пытаюсь создать один пакет:

C:\Linter\intlib\PYTHON>python setup.py build

Я получаю это сообщение об ошибке:

running build

running build_ext

здание Расширение LinPy

error: Не удалось найти vcvarsall.bat

Это моя версия Python:

Python 3.4.4 (v3.4.4: 737efcadf5a6, 20 декабря 2015, 20:20:57) [MSC v.1600 64 бит (AMD64)] на win32

И я работаю над Windows 10 x64. Я знаю о этой нитке и десятках других (например this и это, и этот список можно продолжить). Поэтому, я думаю, я пробовал почти все, но ничего не работает. Кажется, что все эти потоки устарели, поэтому мне нужна новая квитанция. КСТАТИ. Я пробовал это:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

И это (в Visual Studio 2015 Visual Studio Command Prompt):

set DISTUTILS_USE_SDK=1

Я искал vcvarsall.bat всюду на моей машине, но не смог найти его.

Я исследовал эту папку C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools, но она не содержит никаких файлов .bat. Во всяком случае, после всех моих манипуляций python setup.py build все равно возникает одна и та же ошибка. Итак, мне нужна помощь. Спасибо!

Ответ 1

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


Ниже приведено то, что вам может потребоваться в сообществе MS Python Engineering,

Python Version  |You will need
------------------------------------
3.5 and later   |Visual C++ Build Tools 2015 or Visual Studio 2015
3.3 and 3.4     |Windows SDK for Windows 7 and .NET 4.0
                |(Alternatively, Visual Studio 2010 if you have access to it)
2.6 to 3.2      |Microsoft Visual C++ Compiler for Python 2.7

Вам нужно будет установить: Windows SDK для Windows 7 и .NET 4.0 или VS 2010


Источник: Как бороться с болью "невозможно найти vcvarsall.bat"

Ответ 2

Я искал колесо python LinPy, к сожалению, их не было.

Cython имеет очень хорошее обходное решение для создания компилятора Windows C/С++ для сборки в python. Вы можете найти здесь здесь. Поскольку вы уже загрузили SDK/.NET framework, вам следует продолжить и установить его, поскольку это будет необходимо в качестве части шагов. Если в вашей системе есть уже существующая версия, вы можете удалить, перезагрузить и переустановить.

Альтернативой взлома является поиск vcvars32.bat или vcvarsall.bat (эти командные файлы предназначены только для настройки переменных среды для времени компиляции) в каталоге установки Visual Studio. Если вы его не найдете, вам необходимо установить SDK. Мне удалось выполнить работу по hardcoding путь к vcvars32.bat или vcvarsall.bat в find_vcvarsall функции C:\Python34\Lib\distutils\msvc9compiler.py, но есть недостающая библиотека (ISL - Integer Set Library). Я думаю, потому что я использую VC11.

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

У меня нет SDK, но вы можете попробовать и посмотреть, что происходит с вашего конца.

Ответ 3

Вы можете облегчить свои усилия с помощью компиляторов Microsoft для Python 3.4, установив mingwpy или libpython (не оба):

pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy

conda install libpython

Ответ 5

Шаг 1: установите Visual С++ 2010 Express с здесь.

(Не устанавливайте Microsoft Visual Studio 2010 с пакетом обновления 1)

Шаг 2: Удалите все распространяемые пакеты Microsoft Visual С++ 2010 из панели управления\Программы и компоненты. Если вы этого не сделаете, установка завершится с ошибкой "Неустранимая ошибка при установке".

Шаг 3. Установите автономную версию Windows SDK для Visual Studio 2010 (v7.1) из здесь. Это необходимо для 64-битных расширений. Windows имеет встроенный монтаж для ISO, таких как Pismo.

Шаг 4: Вам необходимо установить ISO файл с помощью пакета аудита управления файлами Pismo. Загрузить Pismo из здесь

Шаг 5: Щелкните правой кнопкой мыши загруженный файл ISO и выберите mount с помощью Pismo. После этого установите setup\SDKSetup.exe вместо файла setup.exe.

Шаг 6a: Создайте файл vcvars64.bat в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64, сменив каталог на C:\Program Files (x86)\Microsoft Visual Studio version\VC\в командной строке. Введите команду в командной строке: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

Шаг 6b: Чтобы настроить это окно командной строки для 64-битных строчек командной строки, предназначенных для платформ x86, введите в командной строке: vcvarsall x86</p>

Ответ 6

Чтобы добавить к тому, что ответил Ани Менон, и рассмотрел проблемы Якобиана (OP), которые он имел в ответ... У меня была такая же проблема, поэтому я последовал за этой публикацией StackOverflow относительно временного изменения номера версии .NET в реестре. Вероятно, это хорошая идея изменить значение реестра после.

fooobar.com/info/39700/...

Это помогло мне пройти мимо установленной .NET.NET ошибки, но затем мне представили еще одну ошибку в отношении того, что установка была неудачной.

Мне пришлось удалить как x86, так и x64 экземпляры Microsoft Visual С++ 2010 Redistributable и позволить SDK установить его для меня. После этого я смог полностью пройти настройку без ошибок. Вот где я получил информацию от:

Форум: https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/381299c9-1bf4-44d4-989c-871735c6b4ca/windows-sdk-for-windows-7-and-net-framework-4-wont-install?forum=windowssdk

Исправлено: https://support.microsoft.com/de-de/help/2717426/windows-sdk-fails-to-install-with-return-code-5100

Я попытался запустить pip в том же пакете, и error: Unable to find vcvarsall.bat исчез. Теперь у меня есть ValueError: ['path'], но это еще одна проблема. Надеюсь, эта информация поможет.

Для получения информации о моей установке я запускаю окна 7 и python 3.4