ошибка: не удается найти vcvarsall.bat - PullRequest
838 голосов
/ 12 мая 2010

Я пытался установить пакет Python dulwich :

pip install dulwich

Но я получаю загадочное сообщение об ошибке:

error: Unable to find vcvarsall.bat

То же самое происходит, если я пытаюсь установить пакет вручную:

> python setup.py install
running build_ext
building 'dulwich._objects' extension
error: Unable to find vcvarsall.bat

Ответы [ 41 ]

1 голос
/ 07 марта 2015

самое быстрое решение :

Если у вас python 3.4.x , решение заключается в простой установке VC ++ 2010, поскольку он используется для компиляции в.

https://www.visualstudio.com/en-us/downloads#d-2010-express

моя версия на Python MSC v.1600 32 бит (intel)] на win32

нормально работал на Windows8

1 голос
/ 16 июня 2016

Я перепробовал все вышеперечисленные ответы, но у меня не получилось. Я использовал Windows 10 и установил Visual Studio 2010 В моем случае нужно добавить vcvars64.bat к C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64

ниже vcvars64.bat:

CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64

Установите Microsoft SDK 7.1, если не устанавливаете, и перезапустите pip install dulwich

1 голос
/ 26 марта 2014

В Python 3.4 зависимость от Visual Studio 2010. Установка Visual C ++ 2010 Express устранила проблему для меня.

Обманывая его при использовании установок VS 2008 или 2013, которые, как мне показалось, не работали.

1 голос
/ 28 июля 2013

Ответ, данный @monkey, один из правильных, но он неполный.

Если вы хотите использовать MinGW , вам нужно выбрать C, C ++, а также другие инструменты разработки, предложенные в процессе установки MinGW, чтобы также получить "make.exe".

В env также должен быть указан путь к make.exe.

Чтобы завершить свой ответ, выполните следующие шаги:

  1. Добавление каталога bin mingw32 в переменные среды
  2. Добавить C:\Programs\MinGW\bin;C:\Programs\MinGW\msys\1.0\bin; к ПУТИ
  3. Редактировать (создать, если он не существует) файл distutils.cfg, расположенный в C:\Python26\Lib\distutils\distutils.cfg, следующим образом:

    [build]
    compiler=mingw32
    

Убедитесь, что переменные среды установлены, открыв новый cmd.exe.

1 голос
/ 10 июня 2017

вызов import setuptools приведет к появлению патча distutils для обеспечения совместимости с Visual Studio. Вызов vcvars32.bat вручную настроит виртуальную среду и предотвратит другие распространенные ошибки, которые выдает компилятор. Файл находится на

"C: \ Program Files (x86) \ Microsoft Visual Студия \ 2017 \ Community \ VC \ Auxiliary \ Сложение \ vcvars32.bat "

для VS 2017.

0 голосов
/ 01 мая 2018

Я не видел ответа, используя vswhere, который, как мне кажется, является правильным способом сделать это, начиная с Visual Studio 15.2.

Вот как я запускаю vsvars64.bat (я думаю, это похоже на vsvarsall)

def init_vsvars():
    cprint("")
    cprint_header("Initializing vs vars")
    vswhere_path = r"%ProgramFiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe"
    vswhere_path = path.expandvars(vswhere_path)
    if not path.exists(vswhere_path):
        raise EnvironmentError("vswhere.exe not found at: %s", vswhere_path)

    vs_path = common.run_process(".", vswhere_path,
                                 ["-latest", "-property", "installationPath"])
    vs_path = vs_path.rstrip()

    vsvars_path = os.path.join(vs_path, "VC/Auxiliary/Build/vcvars64.bat")
    # common.run_process(".", vsvars_path, [])
    os.system('"%s"' % vsvars_path)

run_process делает кучу вещей, но в основном сводится к следующему:

    output = ""
    process = subprocess.Popen(
        commandline,
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT,
        universal_newlines=True)
    for stdout_line in iter(process.stdout.readline, ""):
        cprint(stdout_line)
        output += stdout_line
    process.stdout.close()

    return_code = process.wait()
    return output
0 голосов
/ 20 июля 2016

http://www.stickpeople.com/projects/python/win-psycopg/

Установка соответствующего файла сверху по ссылке исправила мою проблему.

Упоминание: Джейсон Эриксон [jerickso@stickpeople.com]. Он довольно хорошо управляет этой страницей для пользователей Windows.

0 голосов
/ 28 апреля 2017

Я нахожу гораздо более простой способ сделать это. Просто скачайте бинарные пакеты с сайта: http://www.lfd.uci.edu/~gohlke/pythonlibs' Например: autopy3‑0.51.1 ‑ cp36 ‑ cp36m ‑ win32.whl (cp36 означает Python 3.6) Загрузить И установить pip место установки файла

0 голосов
/ 26 января 2016

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

Прежде всего, обновите пип до последней версии:

easy_install install -U pip

Во-вторых, установите колесо:

pip install wheel

В-третьих, скачайте whl-файл для вашего пакета и установите его:

pip install [xxx].whl

Пока что я считаю, что wheel - лучший способ установки пакетов Python на Windows.

0 голосов
/ 26 мая 2018

Лучший и исчерпывающий ответ на этот вопрос дан здесь: https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/

В большинстве случаев достаточно найти подходящий пакет .whl для вашей зависимости от python и установить его с помощью pip.

В последнем случае вам придется установить компилятор Microsoft и установить пакет из исходного кода.

...