Question

Je suis en train d'installer pycassa , un client de Cassandra en Python, sous Windows 7 .

L'exécution pip install pycassa je reçu ce message d'erreur:

error: unable to find vcvarsall.bat

Creuser plus profond, je trouve que Python n'a pas réussi à installer la bibliothèque et Thrift liaisons Python. Une façon dont les gens suggèrent est d'installer un compilateur C ++, comme Visual studio 2008 express, ou MinGW sur Windows 7, et Thrift de la source de la compilation.

Cependant, je l'ai trouvé un version en ligne compilée de Thrift . Y at-il un moyen de lier la version compilée de Thrift en Python, puis l'utiliser dans pycassa? Ou dois-je passer par la compilation de la source Thrift?

Était-ce utile?

La solution

Thrift a vraiment deux (types de) composants:. Il y a le compilateur Thrift, ce qui génère un code donné une interface, et puis il y a les par langue des bibliothèques, qui mettent en œuvre les protocoles d'épargne à faible niveau et les transports pour chaque langue

Vous presque certainement pas besoin du compilateur Thrift, qui est ce que vous avez lié. Vous faire besoin la bibliothèque python Thrift; tentatives pip pour l'installer une dépendance pour pycassa. La raison pour laquelle il est de rupture qu'il ya une extension C qui est inclus dans la bibliothèque de python Thrift, et pendant le processus d'installation, il tente de compiler cela. Pour la compilation au travail, vous devez faire quelques petites choses spécialement.

Si vous faites tout cela à des fins de développement, vous pouvez télécharger la dernière python Thrift bibliothèque manuellement, supprimer src / protocole / fastbinary.c, puis exécutez « setup.py install » à partir du répertoire de niveau supérieur. Ce sera plus lent que si vous avez l'extension compilé et installé, mais pour dev fins, cela fonctionnera très bien. Vous pouvez utiliser Pip installer --no-DEPS pycassa 'à ce point, et il ne sera pas essayer d'installer automatiquement Thrift, juste pycassa.

Si vous faites cela pour la production, vous voudrez probablement l'extension C à compiler et installé. Pour ce faire, vous devez installer , consultez la dernière version de Thrift de SVN, allez dans le répertoire lib / py, et exécutez 'setup.py install' il.

scroll top