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

Я пытался установить Scrapy for 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 C++ для Python 2.7

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

ошибка: не удается найти vcvarsall.bat

Получение "ошибка: невозможно найти vcvarsall.bat" при запуске "pip install numpy" на 64-битной Windows7

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

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

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

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

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

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

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

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

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

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

Вот официальное сообщение в блоге, рассказывающее о переходе на 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)

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

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

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

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

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

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

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

Другие вопросы по тегам