vcvarsall.bat необходим для python для компиляции отсутствует в visual studio 2015 (v 14)


Я пытаюсь установить numpy в python 3.5 под windows 10 с установленной visual studio 2015 ultimate.

краткая версия: file vcvarsall.bat отсутствует в папке vs14 C:Program Files (x86)Microsoft Visual Studio 14.0VC папка. Зачем?

длинная версия: Работает pip install numpy дает мне эту ошибку error: Unable to find vcvarsall.bat

исследование этой ошибки привело меня к нескольким ответам stackoverflow, которые помогли мне понять, что python нуждается в компиляторе c++ для компиляции некоторых пакетов. И для этого нужно сделать это с помощью та же версия компилятора, которая использовалась для компиляции python 3.5 ( ошибка: не удается найти vcvarsall.летучая мышь.) Мой python компилируется с использованием [MSC V. 1900 64 бит (AMD64)] - который является vs 14 ( visual studio 2015)

двигаясь дальше с моими исследованиями я узнал из: установка pip дает ошибку: не удается найти vcvarsall.летучая мышь, что get_build_version() С $python_install_prefix/Lib/distutils/msvc9compiler.py возвращает версию vs, которая должна использоваться для поиска пути vcvarsall.bat Для меня этот метод возвращает 14. Так что все правильный.

теперь, когда я смотрю в папке C:Program Files (x86)Microsoft Visual Studio 14.0VC там файл vcvarsall.летучая мышь пропала.

но когда я смотрю в папке C:Program Files (x86)Microsoft Visual Studio 12.0VC есть vcvarsall.летучая мышь.

почему vcvarsall.летучая мышь отсутствует в vs 14.0 ??

6 51

6 ответов:

убедитесь, что в Visual Studio установлены общие средства C++.

программы и функции -> VS 2015 - > изменить

VS2015 setup

Я сталкивался с этой проблемой раньше при попытке установить numpy. Хотя я не смог исправить ' vcvarsall.проблема bat', я обнаружил, что могу скачать предварительно скомпилированные библиотеки отсюда:http://www.lfd.uci.edu/~gohlke / pythonlibs/ Загрузите нужные библиотеки, перейдите туда, где они загружены .whl файлы и открыть окно командной строки. запустить установить Пип [колесо имя файла]' Это установит библиотеку для вас без проблемы компиляции.

Я загрузил Microsoft Visual C++ build Tools Ссылка Здесь и все работало замечательно.

я столкнулся с этой проблемой, когда пытался построить пакет ujson с python 2.7 (скомпилированный с VS 2015).

  • vcvarsall.летучая мышь: попробуйте скопировать файл vsvars32.летучая мышь (из того же каталога - "c:\Program файлы (x86)\Microsoft Visual Studio 14.0\Common7\Tools") в vcvarsall.летучая мышь. Это все, что вам нужно для сборки
  • еще одна проблема заключается в обнаружении VS версии в функции get_build_version() (distutils/msvc9compiler.py). вам нужно изменить эту функцию, чтобы вернуть правильную версию Против.

есть такая строка:

majorVersion = int(s[:-2]) - 6

он устанавливает majorVersion в 13, но правильная версия для VS 2015 составляет 14. Поэтому нужно добавить две строки, например:

if majorVersion == 13:
    majorVersion = 14 

у меня просто была такая же проблема (Windows 7, Python 3.4, pip 7.1)

pip install mysqlclient
(...)
error: Unable to find vcvarsall.bat

я следовал этим инструкциям: https://www.linkedin.com/pulse/resolving-python-error-unable-find-vcvarsallbat-bhanu-pratap-singh/

затем обновил pip до 9.0.1 с

python -m pip install --upgrade pip

попробовал еще раз:

pip install mysqlclient

и вуаля:

Successfully installed mysqlclient-1.3.12

при установке любого модуль Python 2.7 если вы столкнулись с ошибкой:

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)

решение ОС Windows

самым простым решением будет:

  • найдите URLhttp://aka.ms/vcpython27
  • скачать компилятор Microsoft Visual C++ для Python 2.7
  • снимка:

vcpython27

  • версия : 9.0.0.30729
  • Имя Файла: VCForPython27.msi
  • Дата Публикации: 29.09.2014
  • размер файла: 83.8 MB
  • детали:

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

    • типичное сообщение об ошибке, которое вы получите, если вам нужен этот пакет компилятора не удается найти vcvarsall.летучая мышь

    • это сообщение появляется потому, что устанавливаемый пакет Python содержит исходный код для собственного модуля расширения (.pyd), но не имеет предварительно построенной копии модуля. Пакеты Python, выделенные на pythonwheels.com уже были обновлены их разработчики включают предварительно построенные двоичные файлы, но многие из них по-прежнему доступны только в качестве исходного кода.

    • этот пакет компилятора полностью не поддерживается и представляет собой снимок последней версии, которая полностью совместима с Python 2.7. Для последних исправлений безопасности и ошибок, пожалуйста, используйте последнюю версию Microsoft Visual Studio для любой работы по разработке, которая непосредственно не взаимодействует с Python 2.7.

  • Системные Требования :
    • Поддерживаемые Операционные Системы : Windows 7, Windows 8 И Windows 8.1
    • распространяемый пакет Microsoft Visual C++ 2008 SP1 (x86, x64) Для Windows 8 и более поздних версий требуется Microsoft .NET Framework 3.5. Инструкции по установке см. здесь.
    • требования к дисковому пространству: для установки требуется 380 мегабайт (МБ) места на жестком диске.
    • Python Пакеты setuptools 6.0 или более поздней версии требуется для Python для автоматического обнаружения этого пакета компилятора. колеса рекомендуется для производства готовых двоичных пакетов.
  • Инструкции По Установке:
    • установка и удаление пакета компилятор по умолчанию будет устанавливать только для текущего пользователя и не требует административных привилегий. Чтобы установить для всех пользователей компьютера, выполните команду msiexec / i ALLUSERS=1 с повышенными привилегиями Быстрый.
    • использование с инструментами распространения Python Разработчики пакетов Python должны загрузить и использовать этот компилятор для создания двоичных колес для своих пакетов Python для загрузки в PyPI. Установка пакета wheel, обновление до setuptools 6.0 или более поздней версии и добавление setup.py загрузка bdist_wheel в процесс сборки приведет к созданию правильных файлов (не забудьте сделать это для 32-разрядных и 64-разрядных версий).
    • если устанавливаемый пакет Python не имеет колеса, вы можно установить этот пакет компилятора на свой собственный компьютер. После установки компилятора и обновления до setuptools 6.0 или более поздней версии можно использовать pip install для сборки и установки пакета Python. Если вы управляете несколькими машинами и вам нужно установить пакет Python на всех из них, вы должны установить пакет wheel и использовать pip wheel для создания колеса, которое может быть установлено на машинах без необходимости этого пакета.
  • установите пакет на свой локальный хост.
  • установить требуемые модуль Python 2.7 успешно без каких-либо ошибок.