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

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

pip install scrapy

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

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

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

Компилятор Microsoft Visual С++ для 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 С++ для 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 С++ Compiler для 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

Ответ 1

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

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

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

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

  • Щелкните правой кнопкой мыши Мой компьютер.
  • Нажмите "Свойства"
  • Расширенные настройки системы
  • Переменные среды
  • Добавить новую системную переменную
  • Введите VS90COMNTOOLS в имя переменной
  • Введите значение текущей версии в новую переменную.
  • Закрыть все окна

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

Ответ 2

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

  • python -m pip install -U pip
  • pip install -U setuptools
  • pip install -U virtualenv

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

Ответ 3

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

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

Ответ 4

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

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

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

Вот официальное сообщение в блоге о переходе на 2010 год на 3.3: 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)

В качестве побочного примечания я также сначала попытался использовать последнюю версию VС++ (2013), но потребовал установки 2010 Express.

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

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

Ответ 5

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

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

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

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