Не удается найти vcvarsall.bat при запуске скрипта Python - PullRequest
59 голосов
/ 19 апреля 2010

Я работаю в Vista и использую Python 2.6.4. Я использую программное обеспечение, которое использует скрипт Python, но столкнулось с сообщением:

cannot find vcvarsall.bat

Итак, я установил Visual C ++ 2010. Тем не менее, файл не найден - хотя он есть. Я предполагаю (очень необразованный ...), что где-то путь неправильный, потому что у меня также есть старая папка visual 2008 (довольно пустая). Я понятия не имею, где внести изменения для нового пути. Что-то изменить в реестре или в скрипте? Или где-то еще?

Ответы [ 17 ]

2 голосов
/ 09 февраля 2016

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

Редактировать $PythonPath/Lib/distutils/_msvccompiler.py

Найти def _find_vcvarsall(plat_spec): Добавить в качестве следующей строки, добавить

    PathToVC=r"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
    return PathToVC, r""

А затем убедитесь, что ваш каталог bin для studio studio находится на вашем пути.

Если это не сработает, возможно, вам понадобится отредактировать другие файлы, включая:

  • $ PYTHONPATH / Lib / Distutils / msvc9compiler.py
  • $ PYTHONPATH / Lib / сайт-пакеты / Setuptools / msvc9_support.py
1 голос
/ 01 декабря 2015

На случай, если кто-нибудь придет сюда в поисках ответа для Python 3.5; вам нужна Visual Studio 2015.

Получить сообщество Visual Studio 2015 здесь: https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx, это сработало для меня, без дальнейших действий.

Большое спасибо Ионелу, видимо, единственному месту в сети, где можно найти эту информацию! http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/

1 голос
/ 14 апреля 2015

Обратите внимание, что существует очень простое решение.

  1. Загрузите программное обеспечение с http://www.microsoft.com/en-us/download/details.aspx?id=44266 и установите его.

  2. Найдите каталог установки, это что-то вроде "C: \ Users \ USER_NAME \ AppData \ Local \ Programs \ Common \ Microsoft \ Visual C ++ для Python"

  3. Изменить имя каталога "C: \ Users \ USER_NAME \ AppData \ Local \ Programs \ Common \ Microsoft \ Visual C ++ для Python \ 9.0 "в" C: \ Users \ USER_NAME \ AppData \ Local \ Programs \ Common \ Microsoft \ Visual C ++ для Python \ VC "

  4. Добавьте новую переменную среды "VS90COMNTOOLS", и ее значение будет "C: \ Users \ USER_NAME \ AppData \ Local \ Programs \ Common \ Microsoft \ Visual C ++ для Python \ VC \ VC"

Теперь все в порядке.

1 голос
/ 15 января 2015

Я попробовал решение здесь, чтобы установить переменную среды через командную строку, но это не сработало. Я делал это как из обычной командной строки, так и из командной строки Visual Studio Developer.

Я мог бы преодолеть эту проблему следующим образом:

  1. перейдите на экран переменных среды и создайте там новую переменную VS100COMNTOOLS и дайте ей указывать на мою папку установки Visual Studio C: \ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \
  2. Перейдите в указанную выше папку. Внутри этой папки находится файл vsvars32.bat. Скопируйте этот файл и переименуйте его в vsvarsall.bat

Моя конфигурация: Visual Studio 2013 (12.0) и Python 3.4.2

0 голосов
/ 16 июня 2016

Для Windows существует запутанный крайний случай. Если вы следуете совету по установке окон 2007 года и по-прежнему получаете эту ошибку при выполнении python setup.py install напрямую, возможно, что файл setup.py использует старую версию инструментов настройки.

В частности, код, указывающий окна в правильное положение для установленного компилятора Windows, находится в методе __init__ библиотеки setuptools, что означает, что вы должны в файле setup.py использовать модуль setuptools. Некоторые старые методы вызова setup.py напрямую из distutils.core. В этом случае setup.py никогда не найдет установленный компилятор Windows. Это можно исправить, просто написав import setuptools в первой строке файла setup.py.

Ссылка: https://bugs.python.org/issue23246: Посмотрите примерно на полпути вниз для цитаты Стива Дауэра:

Setuptools содержит код для поиска пакета компилятора. Мы намеренно поместили его туда, а не в distutils, чтобы убедиться, что больше людей получат его. Возможно, мне следует перенести дополнительную проверку в 2.7.10, но немедленное решение - импортировать setuptools.

0 голосов
/ 15 марта 2016

После установки Visual Studio Community 2015 Edition на Windows 10 64 бит. Эта ошибка не пошла. Затем я устанавливаю Microsoft Visual C ++ Compiler для Python 2.7 . Так как для этого требуется vcvarsall.bat файл. Этот файл отсутствует в Visual Studio Community 2015, но он был в компиляторе Microsoft Visual C ++ для Python 2.7. Я также добавил его путь в переменные окружения, но он также не работал. Затем я удаляю python 3.4.2 и удаляю все папки python, и устанавливаю python 2.7. Наконец, я запустил pip с помощью powershell и смог установить необходимый пакет, то есть flask-user, используя.

pip install flask-user
0 голосов
/ 28 мая 2015

Установите Visual Studio Express 2008 (9.0) отсюда: http://go.microsoft.com/?linkid=7729279

Вот что исправило это для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...