visual studio microsoft for error descargar compiler python visual-c++

studio - microsoft visual c++ compiler for python 3.7 download



Compilador de Microsoft Visual C++ para Python 2.7 (6)

Descargué el compilador de Microsoft Visual C ++ para Python 2.7 , e vcvarsall.bat , la ruta completa de vcvarsall.bat es:

C:/Users/UserName/AppData/Local/Programs/Common/Microsoft/Visual C++ for Python/9.0/vcvarsall.bat

Pero el siguiente código no puede devolver la ruta de acceso:

from distutils import msvc9compiler msvc9compiler.find_vcvarsall(9.0)

El instalador no escribe la información de instalación en el registro y, a partir del código fuente de find_vcvarsall() , parece que no puede encontrar el archivo VS90COMNTOOLS configuración de VS90COMNTOOLS , porque requiere que el nombre de la carpeta que contiene vcvarsall.bat es VC :

productdir = os.path.join(toolsdir, os.pardir, os.pardir, "VC")

¿Cómo puedo usar el compilador sin modificar el registro o el nombre de la carpeta?



Actualice su setuptools en la línea de comando:

pip install --upgrade setuptools

Las últimas versiones de setuptools por encima de 6.0 deberían detectar automáticamente el compilador de Microsoft Visual C ++ para Python 2.7


Busque en el archivo setup.py del paquete que está intentando instalar. Si es un paquete anterior, puede estar importando distutils.core.setup() lugar de setuptools.setup() .

Me encontré con esto (en 2015) con una combinación de estos factores:

  1. El compilador de Microsoft Visual C ++ para Python 2.7 de http://aka.ms/vcpython27

  2. Un paquete anterior que utiliza distutils.core.setup()

  3. Tratando de hacer python setup.py build lugar de usar pip .

Si usa una versión reciente de pip, forzará (monkeypatch) el paquete a usar setuptools, incluso si su setup.py requiere distracciones. Sin embargo, si no está utilizando pip, y en su lugar solo está haciendo python setup.py build , el proceso de construcción usará distutils.core.setup() , que no conoce la ubicación de instalación del compilador.

Solución

Paso 1: Abra el símbolo del sistema de Visual C ++ 2008 apropiado

Abra el menú Inicio o la pantalla de Inicio y busque "Símbolo del sistema de Visual C ++ 2008 de 32 bits" (si su pitón es de 32 bits) o "Símbolo del sistema de Visual C ++ 2008 de 64 bits" (si su pitón es de 64 bits) . Ejecutarlo. El símbolo del sistema debe indicar Visual C ++ 2008 ... en la barra de título.

Paso 2: Establecer variables de entorno

Establezca estas variables de entorno en el símbolo del sistema que acaba de abrir.

SET DISTUTILS_USE_SDK=1 SET MSSdk=1

Referencia http://bugs.python.org/issue23246

Paso 3: Construir e instalar

cd al paquete que desea compilar, y ejecute python setup.py build , luego python setup.py install . Si desea instalar en un virtualenv, actívelo antes de construir.


Christian Long proporciona una solución practicable. Pero si no desea modificarlo en "Comando de Visual C ++ 2008 de 32 bits / 64 bits" cada vez, simplemente puede averiguar la ubicación de "vcvarsall.bat", es decir, "C: / Users / UserName / AppData / Local / Programs / Common / Microsoft / Visual C ++ para Python / 9.0 / vcvarsall.bat ", y luego modifique la función find_vcvarsall (versión) en Python27 / Lib / distutils / msvc9compiler.py

Me gusta esto:

def find_vcvarsall(version): productdir= "C:/Users/UserName/AppData/Local/Programs/Common/Microsoft/Visual C++ for Python/9.0" vcvarsall = os.path.join(productdir, "vcvarsall.bat") if os.path.isfile(vcvarsall): return vcvarsall else: return None

Simple, feo pero útil.


Estaba teniendo el mismo problema con este paquete, parece que realmente no lo probaron con una instalación limpia.

Al final, acabo de agregar una clave para crear COMPUTER/HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/VisualStudio/9.0/Setup/VC luego agregué un valor de cadena con el nombre productdir con el valor establecido en mi ruta a vcvarsall.bat, que Era igual que el tuyo.