806 votos

error: no se puede encontrar vcvarsall.bat

He intentado instalar el paquete de Python dulwich:

pip install dulwich

Pero me sale un mensaje de error críptico:

error: Unable to find vcvarsall.bat

Lo mismo ocurre si intento instalar manualmente el paquete:

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

677voto

fmuecke Puntos 4790

Para las instalaciones de Windows:

Mientras se ejecuta setup.py para la instalación de paquetes, Python 2.7 busca instalado Visual Studio 2008. Se puede engañar a Python utiliza una versión de Visual Studio mediante el establecimiento de la ruta de acceso correcta en VS90COMNTOOLS variable de entorno antes de llamar a setup.py.

Si tiene Visual Studio 2010 instalado, ejecutar

SET VS90COMNTOOLS=%VS100COMNTOOLS%

o con tener instalado Visual Studio 2012 (Versión de Visual Studio 11)

SET VS90COMNTOOLS=%VS110COMNTOOLS%

o con Visual Studio 2013 instalado (Versión de Visual Studio 12)

SET VS90COMNTOOLS=%VS120COMNTOOLS%

224voto

ninMonkey Puntos 4136

He encontrado la solución. Yo tenía exactamente el mismo problema, y el error, la instalación de 'amara'. Yo había mingw32 instalado, pero distutils necesarios para ser configurados.

  1. He Python 2.6 que ya estaba instalado.
  2. He instalado mingw32 a C:\programs\mingw\
  3. Añadir mingw32 bin del directorio a la variable de entorno: anexar c:\programs\MinGW\bin; a la RUTA
  4. Editar (crear si no existe) distutils.cfg archivo que se encuentra en C:\Python26\Lib\distutils\distutils.cfg ser:

    [build]
    compiler=mingw32
    
  5. Ahora ejecute easy_install.exe amara.

Asegúrese de medio ambiente se establece mediante la apertura de una nueva cmd.exe.

221voto

VolodymyrB Puntos 1777

Puede instalar la versión compilada de http://www.lfd.uci.edu/~gohlke/pythonlibs/

146voto

Jaxrtech Puntos 1471

Al menos he encontrado mi solución desde la redacción de comentarios de otros respuestas utilizando el Visual Estudio de los compiladores de C++ en lugar de instalar a través de la mingw32 camino.

Nota Importante:

Si usted está utilizando una versión de Python más reciente de Python 2.7 (especialmente cualquier Python 3.x), lo más probable es que necesita una versión de Visual Studio C++ aparte de la versión de 2008.

Ver abajo para más detalles.

Pasos:

  1. Descargar e instalar específicamente Visual Studio C++ 2008 Express Edition (a menos que estén siguiendo la nota en la parte superior).

    Actualización para sistemas de 64 Compiladores: de forma predeterminada, este le dará sólo un compilador de 32 bits. He aprendido (a partir de aquí y aquí) que puede descargar específicamente el SDK de Windows para Windows 7 y .NET Framework 3.5 SP1 que le da una x64 compilador VC++ 2008 (VC++ 9.0) si la necesita. Justo cuando está instalado, usted puede desmarcar todo excepto Developer Tools >> Visual C++ Compilers que les impida la instalación de todas las herramientas del SDK de que usted no necesita.

    tl;dr: Si desea que el x64 compiladores para VC++ 2008, descargar específicamente el SDK de Windows para Windows 7 y .NET Framework 3.5 SP1 y desmarca todo salvo Developer Tools >> Visual C++ Compilers durante la instalación.

    Nota: Si usted tiene una de 32 y 64 bits de instalación de Python, puede que también desee usar virtualenv para crear separado de Python entornos de utilizar uno o el otro en un tiempo sin jugar con su camino escoger que versión de Python para usar.

  2. Nota: al Parecer, usted puede ser capaz de saltar todas las de copiar un par de archivos de proceso por lotes de acuerdo con @srodriguex siguiente esta respuesta. Si que funciona muy bien, de lo contrario, aquí es al menos lo que funcionó para mí.

    Abrir un cmd.exe

  3. Antes de intentar instalar algo que requiere de extensiones en C, ejecute el siguiente archivo por lotes para cargar el VC++ compilador del medio ambiente en la sesión (es decir. las variables de entorno, la ruta del compilador, etc.).

    Ejecutar:

    • Los Compiladores de 32 bits:

      Nota: Windows 32-bit instala sólo tendrá C:\Program Files\ como se esperaba

      "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"

    • De 64 bits Compiladores:

      "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars64.bat"

      Nota: Sí, el nativo de 64-bits compiladores están en Program Files (x86). No me pregunten por qué.
      Además, si usted se está preguntando cuál es la diferencia entre los vcvars64.bat y vcvarsx86_amd64.bat o lo que es más importante la diferencia entre los amd64 y x86_amd64, los primeros son para el nativo de 64-bits herramientas del compilador y los últimos son los de 64 bits compiladores cruzados que se puede ejecutar en Windows de 32 bits de instalación.

    Actualización:
    Si por alguna razón usted no está recibiendo error: ... was unexpected at this time. donde ... es de alguna serie de personajes, entonces usted necesita para asegurarse de que la variable de ruta de acceso no tiene ningún tipo de caracteres extraños como extra citas o de caracteres inconexos. El archivo por lotes no va a ser capaz de actualizar su período de sesiones de la ruta si no puede hacer sentido de ella en el primer lugar.

  4. Si eso fue así, usted debe conseguir uno de los siguientes mensajes dependiendo del comando que se ejecutó:

    Para el compilador de 32 bits de las herramientas:
    Setting environment for using Microsoft Visual Studio 2008 x86 tools.

    Para la versión de 64 bits de herramientas del compilador:
    Setting environment for using Microsoft Visual Studio 2008 x64 tools.

  5. Ahora, ejecute el programa de instalación a través de python setup.py install o pip install pkg-name

  6. Esperanza y cruzar los dedos para que el compilador funciona hoy en día.

Encontrar la versión correcta de VC++ para usar

Las nuevas versiones de Python (al menos 3.4.1) son compilados utilizando las nuevas versiones de Visual Studio C++, como se muestra en esta captura de pantalla. Es importante utilizar la versión correcta de Visual C++ para que la biblioteca compilada va a trabajar con su versión de Python.

Desde distilutils ' get_build_version evita la mezcla (por Piotr advertencia), puede ser necesario descargar la versión correspondiente de Visual Studio.

En otras palabras, funcionará sólo si en el lanzamiento de intérprete de Python, verá MSC v.1500. Usted puede tratar de instalar Visual Studio C++ 2010, que corresponde a Python 3.4.1 del MSCv.1600.

55voto

fpessoa Puntos 706

Yo sólo tenía este mismo problema, así que voy a contarles mi historia aquí esperando que ayuda a alguien con los mismos problemas y los salva el par de horas que me acaba de pasar:

He mingw (g++ (GCC) 4.6.1) y python 2.7.3 en un windows 7 cuadro y estoy tratando de instalar PyCrypto.

Todo comenzó con este error al ejecutar setup.py instalar:

error: Unable to find vcvarsall.bat

Resuelve fácilmente después de googlear el error especificando mingw como el compilador de elección:

setup.py install build --compiler=mingw32

El problema es que luego tengo un error diferente:

configure: error: cannot run C compiled programs.

Resulta que mi anti-virus fue el bloqueo de la ejecución de un recién .exe compilado. Acabo de movilidad de la anti-virus "protección residente" y pasó a la siguiente error:

cc1.exe: error: unrecognized command line option '-mno-cygwin' 
error: command 'gcc' failed with exit status 1

Esto resolvió: "instalar un algo mayor que la de la versión de MinGW, o editar distutils\cygwinccompiler.py en el directorio de Python para eliminar todas las instancias de-mno-cygwin." (desde aquí)

Ahora, por fin puedo empezar a trabajar.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X