Pregunta

Estoy tratando de instalar pycassa, un cliente de Cassandra en Python, en Windows 7.

Correr pip install pycassa Recibí este mensaje de error:

error: unable to find vcvarsall.bat

Excavando más profundamente, descubrí que Python no pudo instalar la biblioteca de ahorro y los enlaces de Python. Una forma en que las personas sugieren es instalar un compilador C ++, como Visual Studio 2008 Express, o mingw en Windows 7, y compile el ahorro de ahorro de la fuente.

Sin embargo, encontré un Versión compilada en línea de Thrift. ¿Hay alguna manera de atar la versión compilada de Thrift en Python y luego usarla en Pycassa? ¿O tengo que pasar por la compilación de ahorro de la fuente?

¿Fue útil?

Solución

Thrift realmente tiene dos (tipos de) componentes: está el compilador de ahorro, que genera código dado una interfaz, y luego están las bibliotecas por idioma, que implementan los protocolos de ahorro de bajo nivel y los transportes para cada idioma.

Es casi seguro que no necesitas el compilador de segunda mano, que es a lo que te vinculaste. Tú hacer Necesita la biblioteca Python de segunda mano; PIP intenta instalar esto como una dependencia para Pycassa. La razón por la que se está rompiendo es que hay una extensión C que se incluye en la Biblioteca Python Thrift, y durante el proceso de instalación, intenta compilar eso. Para que la compilación funcione, debe hacer algunas cosas especialmente.

Si solo está haciendo esto para fines de desarrollo, puede descargar lo último Biblioteca Python de segunda mano Manualmente, elimine SRC/Protocol/FastBinary.c, y luego ejecute 'Setup.py Instalar' del directorio de nivel superior. Esto será más lento que si tiene la extensión compilada e instalada, pero para fines de desarrollo, funcionará bien. Puede usar 'Pip Install-No-Deps Pycassa' en este punto, y no intentará instalar Thrift automáticamente, solo Pycassa.

Si está haciendo esto para la producción, es probable que desee compilarse e instalar la extensión C. Para hacer esto, debe instalar Visual C ++ 2008 Express Edition, mira la última versión de Thrift desde SVN, vaya al directorio lib/py y ejecute 'setup.py install' allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top