Ошибка: требуется Microsoft Visual C++ 10.0 (невозможно найти vcvarsall.bat)
Я пытаюсь установить NumPy с PyCharm, но я получаю эту ошибку:
ошибка: требуется Microsoft Visual C++ 10.0 (невозможно найти vcvarsall.bat).
Может кто-нибудь, пожалуйста, объясните мне, что именно я должен сделать, чтобы исправить эту ошибку (и как можно более простым и подробным)? Я использую Python 3.4.2 (я знаю, что на этот вопрос уже отвечали, но я не понял).
8 ответов
Я получил ту же ошибку и в итоге использовал готовый дистрибутив numpy, доступный в SourceForge (аналогично, можно получить дистрибутив matplotlib).
Доступны сборки для 32-битных 2.7 и 3.3/3.4.
PyCharm обнаружил их сразу, конечно.
Я смог исправить это в Windows 7 64-разрядной версии Python 3.4.3, запустив set
команда в командной строке для определения существующей переменной среды инструментов Visual Studio; в моем случае это было VS140COMNTOOLS
для сообщества Visual Studio 2015.
Затем выполните следующее (подставляя переменную справа, если у вас другое имя):
set VS100COMNTOOLS=%VS140COMNTOOLS%
Это позволило мне установить модуль PyCrypto, который ранее выдавал ту же ошибку, что и OP.
Для более постоянного решения добавьте эту переменную среды в свою среду Windows через панель управления ("Редактирование системных переменных среды"), хотя вам может потребоваться использовать фактический путь вместо замены переменной.
Python 3.3 и более поздние версии теперь используют компилятор 2010 года. Лучший способ решить эту проблему - просто установить Visual C++ Express 2010 бесплатно.
Теперь самое сложное для 64-битных пользователей, и, если честно, я только что перешел на 32-битную версию, но 2010 Express не поставляется с 64-битным компилятором (вы получаете новую ошибку ValueError: ['path']), поэтому вам нужно установите Microsoft SDK 7.1 и следуйте приведенным ниже инструкциям, чтобы заставить 64-битный компилятор работать с python: Python PIP имеет проблемы с путем для MS Visual Studio 2010 Express для 64-битной установки в Windows 7
Возможно, вам сейчас будет проще использовать 32-битную версию. В дополнение к тому, что компилятор работает, вы можете обойти необходимость компиляции многих модулей, получив файл двоичного колеса из этого местоположения http://www.lfd.uci.edu/~gohlke/pythonlibs/
Просто скачайте нужный вам.whl файл, нажмите Shift + правую кнопку мыши на папке загрузки и выберите "открыть окно командной строки здесь" и запустите
pip install module-name.whl
Я использовал этот метод в 64-битной версии 3.4.3 до того, как сломался и решил просто получить работающий компилятор для модулей pip-компиляции из исходного кода, поэтому бинарные файлы колес работают, а сборка pip из исходного кода - нет.
Люди, получающие эту ошибку (vcvarsall.bat) на Python 2.7, могут вместо этого установить "Компилятор Microsoft Visual C++ для Python 2.7".
Я сталкивался с этой проблемой дважды. Первый раз я использовал VS 2013, а второй - VS 2015 с другим решением. Первое решение на VS 2013 и Python 2.7:
- Нажмите Win+R
- Войти
SET VS90COMNTOOLS=%VS120COMNTOOLS%
- Закрыть все окна
- Введите pip install снова
Теперь, год спустя, я нашел более простой способ исправить это. На этот раз я использую VS 2015 и Python 3.4.
- Щелкните правой кнопкой мыши на Мой компьютер.
- Нажмите Свойства
- Расширенные системные настройки
- Переменные среды
- Добавить новую системную переменную
- Войти
VS100COMNTOOLS
к имени переменной - Введите значение
VS140COMNTOOLS
к новой переменной. - Закрыть все окна
Теперь я уверен, что вы зададите вопрос VSXXXCOMNTOOLS
и что мне делать, если я использую VS2008 или другой компилятор.
Есть файл python\Lib\distutils\msvc9compiler.py, начиная со строки 216, мы видим
def find_vcvarsall(version):
"""Find the vcvarsall.bat file
At first it tries to find the productdir of VS 2010 in the registry. If
that fails it falls back to the VS100COMNTOOLS env var.
"""
Это означает, что вы должны указать для него каталог продукта VS 2010, так что если вы используете Python 2.x и
Visual Studio 2010 (VS10):SET VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11):SET VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12):SET VS90COMNTOOLS=%VS120COMNTOOLS%
Visual Studio 2015 (VS15):SET VS90COMNTOOLS=%VS140COMNTOOLS%
или если вы используете Python 3.x и
Visual Studio 2010 (VS10):SET VS100COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11):SET VS100COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12):SET VS100COMNTOOLS=%VS120COMNTOOLS%
Visual Studio 2015 (VS15):SET VS100COMNTOOLS=%VS140COMNTOOLS%
И это то же самое, что добавить новую системную переменную. Смотрите вторые пути.
Обновление: иногда это все еще не работает. Проверьте свой путь, убедитесь, что содержит VSxxxCOMNTOOLS
VS 2010 Express больше не связан ни с какими страницами VS Express (которые я нашел). Я нашел эту ссылку на ISO, который я использовал, и он исправил ошибки, упомянутые здесь.
http://download.microsoft.com/download/1/E/5/1E5F1C0A-0D5B-426A-A603-1798B951DDAE/VS2010Express1.iso
Примечание: также убедитесь, что у вас есть все x86 (Python + Postgresql), иначе вы получите другие ошибки. Я не все x64 пробовал.
Вы можете скачать.whl в LFD. Затем используйте "pip install ***. Whl" в CMD
Попытался установить lxml, grab и другие расширения, для которых требуется VS 10.0+, и получить ту же проблему. Я нахожу собственный способ решить эту проблему (Windows 10 x64, Python 3.4+):
Установите Visual C++ 2010 Express ( загрузить). (Не устанавливайте Microsoft Visual Studio 2010 с пакетом обновления 1)
Удалите все распространяемые пакеты Microsoft Visual C++ 2010 из Панели управления \ Программы и компоненты. Если вы этого не сделаете, то установка завершится с ошибкой "Неустранимая ошибка во время установки".
Установите автономную версию Windows SDK для Visual Studio 2010 (v7.1) ( скачать). Это требуется для 64-битных расширений. Windows имеет встроенное крепление для ISO. Просто смонтируйте ISO-файл и запустите Setup\SDKSetup.exe вместо setup.exe.
Создайте файл vcvars64.bat в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64, который содержит:
ВЫЗОВ "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
Найдите расширение на этом сайте, затем поместите его в папку python и установите расширение.whl с помощью pip:
python -m pip установить расширение name.whl
наслаждаться
Вы должны проверить ваш пакет pip, чтобы быть обновленным до последней версии в вашем pycharm, а затем установить пакет numpy. в настройках -> project:progLangComp -> Project Interpreter есть таблица пакетов и их текущей версии (только помечена как Version) и их последней версии (помечена как Latest). Номер текущей версии Pip должен совпадать с номером последней версии. Если вы видите синюю стрелку перед pip, вам нужно обновить ее до последней версии, затем попытаться установить numpy или любые другие пакеты, которые вы не смогли установить, для меня это были pandas, которые я хотел установить.