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 существует конфликт .
Я не знаю, почему и как его решить (и я был бы рад, если кто-то может предложить обходное решение).