Ошибка установки Python Pip: невозможно найти vcvarsall.bat. Пробовал все решения

Я попытался установить 32-разрядную версию Scrapy для Python 2.7.8 (anaconda 2.1.0), используя

pip install scrapy

И я получил эту ошибку

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

Я следил за решениями, найденными в этих вопросах потока стеков. Ничего не получилось.

Компилятор Microsoft Visual C ++ для Python 2.7

Не удается найти файл vcvarsall.bat

ошибка: невозможно найти vcvarsall.bat

Ошибка: невозможно найти vcvarsall.bat при запуске pip install numpy на windows7 64bit

pip install дает ошибку: невозможно найти vcvarsall.bat

Как указать easy_install на vcvarsall.bat?

pip install MySQL-python не может найти vcvarsall.bat

Это ошибка, и несколько строк выше и ниже:

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt
-> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1

running build_ext

building 'lxml.etree' extension

C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution opt
ion: 'bugtrack_url'

  warnings.warn(msg)

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


----------------------------------------
Command "C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:
\\Users\\San\\AppData\\Local\\Temp\\pip-build-wp6ei6r9\\lxml\\setup.py';exec(com
pile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __f
ile__, 'exec'))" install --record C:\Users\San\AppData\Local\Temp\pip-kfkzr_67-r
ecord\install-record.txt --single-version-externally-managed --compile" failed w
ith error code 1 in C:\Users\San\AppData\Local\Temp\pip-build-wp6ei6r9\lxml

У меня есть как Microsoft Visual Studio 12.0, так и пакет компилятора Microsoft Visual C ++ для Python 2.7, оба из которых имеют файл vcvarsall.bat.


У меня есть системная переменная, которая называется VS120COMNTOOLS, и ее путь установлен на

C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\

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

C:\Program Files\Java\jdk1.7.0_25\bin;\Python27;\Python2\python.exe;C:\Python27\Scripts\;C:\Users\San\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\;C:\Program Files\Microsoft Visual Studio 12.0\VC\;

Я также обновил свои инструменты настройки (думаю, до версии 8), которые должны автоматически определять компилятор Microsoft Visual C ++ для Python 2.7. Однако я все еще получаю ту же ошибку.


Я также пробовал использовать

easy_install scrapy

И я получаю эту ошибку

error: Setup script exited with error: Microsoft Visual C++ 10.0 is required (Un

удалось найти vcvarsall.bat).


В моем реестре также есть следующие данные

HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\12.0\Setup\VC\ProductDir

person SantoshGupta7    schedule 27.12.2014    source источник
comment
Какую версию Python вы используете? 2.7.x? Кроме того, не могли бы вы подробнее рассказать об ошибке (несколько строк до и после)? Я получаю подобное: не могу найти vcvarsall, но это просто предупреждение, scrapy устанавливается нормально с python 2.7.9.   -  person Joaquin Sargiotto    schedule 27.12.2014
comment
Я использую 32-разрядную версию Python 2.7.8 (anaconda 2.1.0). Я попробовал среду с Python 2.7.9, но она все равно не сработала. Я обновил вопрос, включив в него пару строк над и под ошибкой.   -  person SantoshGupta7    schedule 28.12.2014
comment
Попробуйте установить: компилятор Microsoft Visual C ++ для Python 2.7   -  person kenorb    schedule 26.05.2015
comment
Я столкнулся с той же проблемой. Затем я обновил пип, как было предложено. python -m pip install --upgrade pip   -  person arsho    schedule 23.06.2016
comment
У меня была эта проблема в Python 3.4, и мне просто пришлось обновить pip до последней версии.   -  person Blairg23    schedule 21.07.2016
comment
Ознакомьтесь с Как бороться с боль «не удается найти vcvarsall.bat» разрешить из корня   -  person Vinod Srivastav    schedule 11.01.2018


Ответы (5)


Я перепробовал все предложения и нашел свое простое решение.

Проблема в том, что коды, написанные во внешней среде, например C, нуждаются в компиляторе. Ищите собственную среду VS, то есть VS 2008.

В настоящее время моя машина работает под управлением VS 2012 и сталкивается с Unable to find vcvarsall.bat. Я изучил коды, которые хочу установить, чтобы найти версию VS. Это был VS 2008. Я добавил к системной переменной VS90COMNTOOLS в качестве имени переменной и дал значение VS120COMNTOOLS.

Вы можете найти мое пошаговое решение ниже:

  1. Щелкните правой кнопкой мыши "Мой компьютер".
  2. Щелкните Свойства
  3. Расширенные системные настройки
  4. Переменные среды
  5. Добавить новую системную переменную
  6. Введите VS90COMNTOOLS в имя переменной
  7. Введите значение текущей версии в новую переменную.
  8. Закрой все окна

Теперь откройте новый сеанс и pip install your-package

person Fatih1923    schedule 25.05.2015
comment
Я установил VS140COMNTOOLS и добавил %VS140COMNTOOLS% в переменную с именем VS90COMNTOOLS, и это сработало. - person dashesy; 14.12.2015
comment
Вау, это действительно сработало! У меня тоже был VS140, и установка его с помощью SET VS90COMNTOOLS=%VS140COMNTOOLS% сработала: D - person Coburn; 01.10.2016
comment
Эта запись в блоге Microsoft была мне очень полезна ... очевидно, для разных версий Python требуются разные компиляторы, которые могут даже не быть установлены ... blogs.msdn.microsoft.com/pythonengineering/2016/04/11/ - person ChaimG; 26.02.2017
comment
у меня не сработало. - person john ktejik; 19.09.2017
comment
У меня был установлен VS 10,12,14, и я могу видеть только VS120COMNTOOLS в варибалах. Но ошибка показывает, что мне нужно установить VS 14.0. Я пробовала разные комбинации. Может кто поможет? Что мне не хватает? Значение VS120COMNTOOLS - C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools` but Tools`, папка отсутствует в Common7 - person srikanth peetha; 19.10.2017

Проделав много вещей, я обновил pip, setuptools и virtualenv.

  1. python -m pip install -U pip
  2. pip install -U setuptools
  3. pip install -U virtualenv

Я выполнил шаги 1, 2 как в виртуальной среде, так и во всем мире. Далее я установил пакет через pip, и он заработал.

person StatusQuo    schedule 07.05.2015
comment
попробовав кучу других постов, это единственное, что у меня сработало! Спасибо! - person Denis; 06.05.2016
comment
Я бы отправил тебе деньги, если бы знал, кто ты. - person Jason Strimpel; 20.05.2017
comment
После попытки установить переменные и т. Д. Именно это и было исправлено для меня! - person George TG; 19.07.2017
comment
Это тоже устранило мою проблему, мне просто пришлось обновить virtualenv до 15.1, который поставляется с последней версией 9.0. pip 7.0, похоже, является проблемой. - person Maxime Viargues; 25.10.2017
comment
У меня это тоже сработало. Спасибо . Если при установке возникает ошибка cl.exe not found или somefile not found, просто установите библиотеки Twisted и lxml из неофициального источника, и вы сможете легко установить Scrapy из pip без ошибок. ссылка: lfd.uci.edu/~gohlke/pythonlibs/#twisted - person Natesh bhat; 18.02.2018

Попробуйте установить this, это известный обходной путь для включения компилятора C ++ для Python 2.7. .

По моему опыту, когда pip не находит компилятор vcvarsall.bat, все, что я делаю, это открываю консоль Visual Studio, поскольку она устанавливает переменные пути для прямого вызова vcvarsall.bat, а затем запускаю pip в этой командной строке.

person avenet    schedule 27.12.2014
comment
Уже установлен компилятор C ++ для Python 2.7. Я открыл Visual Studio Express 2013 для Интернета и для настольных компьютеров и снова попытался установить scrapy, результат тот же. - person SantoshGupta7; 28.12.2014
comment
Я попытался установить scrapy (через pip install scrapy) на Python 2.7.9 после установки это, и он отлично сработал. Я попробую установить Anaconda 2.1.0. - person avenet; 28.12.2014
comment
У меня это сработало отлично (с использованием Anaconda 2.1.0). Я рекомендую вам очистить всю среду разработки (удалить все, что не является обязательным, и добавить только microsoft.com/en-us/download/details.aspx?id=44266) и попробуйте еще раз, он должен работать без проблемы vcvarsall.bat. - person avenet; 28.12.2014
comment
В журналах похоже, что Python 3.4 пытается создать расширения, а не Python 2.7, это может быть проблемой. - person avenet; 28.12.2014
comment
Чтобы избежать компиляции с помощью расширений C ++, вы можете попробовать этот пакет расширений lxml который поставляется со всем скомпилированным материалом для каждой установки Python. После этого просто запустите установку снова, и она должна пропустить установку lxml. - person avenet; 28.12.2014
comment
Хороший улов. Я проверил версию python, на которой он работал, и это был python 2.7. Я также пробовал это в папке python27, чтобы сохранить. тот же результат я установил пакет расширения lxml. Тот же результат. - person SantoshGupta7; 29.12.2014
comment
Есть ли вариант Python 3? Используя дистрибутив Anaconda, я удалил Python 3 и установил Python 2 .... Сейчас работает, но я бы хотел использовать вместо него Python 3. - person openwonk; 14.01.2016

У меня была такая же ошибка в python 3.4.3, и я безуспешно пытался использовать решения, упомянутые здесь и в других местах.

Microsoft делает доступным компилятор для Python 2.7, но это не принесло мне много пользы, так как я использую 3.4.3.

Начиная с версии 3.3 Python перешел на 2010 год, и вы можете бесплатно загрузить и установить Visual C ++ 2010 Express здесь: https://www.visualstudio.com/downloads/download-visual-studio-vs#d-2010-express

Вот официальное сообщение в блоге, в котором говорится о переходе на версию 3.3 для версии 2010: http://blog.python.org/2012/05/recent-windows-changes-in-python-33.html

Поскольку предыдущие версии выдавали другую ошибку для vcvarsall.bat, я бы дважды проверил версию, которую вы используете, с помощью "pip -V"

C:\Users\B>pip -V
pip 6.0.8 from C:\Python34\lib\site-packages (python 3.4)

Кстати, я тоже попробовал сначала использовать последнюю версию VC ++ (2013), но для этого потребовалось установить 2010 Express.

С этого момента он должен работать для всех, кто использует 32-битную версию, если вы используете 64-битную версию, вы получите сообщение ValueError: ['path'], потому что VC ++ 2010 не имеет 64-битного компилятора. Для этого вам необходимо получить Microsoft SDK 7.1. Я не могу сделать гиперссылку на инструкцию для 64-битной версии, потому что я ограничен двумя ссылками на сообщение, но это на

Python PIP имеет проблемы с путем к MS Visual Studio 2010 Express для 64-разрядной установки в Windows 7

person Broccoli Soup    schedule 07.03.2015
comment
Я также использую Python 3.4. Установка Visual C ++ 2010 Express не решила для меня проблему. На самом деле 2-й комментарий avenet к приведенному выше ответу решил проблему. - person gm2008; 09.04.2015

Здесь я также могу воспроизвести эту проблему с помощью scrapy и psycopg2 (оба требуют компиляции C ++), хотя у меня есть Установлен компилятор Microsoft Visual C ++ для Python 2.7.

Следует отметить, что я использую virtualenv. Из вашего поста я не уверен, что вы делаете то же самое.

В любом случае я попытался пропустить активацию виртуальной среды. Тогда и scrapy, и psycopg2 установились нормально.

Моя гипотеза: существует конфликт между этим компилятором C ++ 2014 года для Python и virtualenv. Я не знаю, почему и как это решить (и буду рад, если кто-нибудь предложит обходной путь).

person Hugues Fontenelle    schedule 23.01.2015
comment
Когда у меня возникла эта проблема в Python 2.7, это решение устранило мою проблему. - person Blairg23; 21.07.2016