質問

インストールしようとしています ピカッサ, 、Windows 7のPythonのCassandraクライアント。

ランニング pip install pycassa このエラーメッセージを受け取りました:

error: unable to find vcvarsall.bat

より深く掘り下げて、PythonがThrift LibraryとPython Bindingsのインストールに失敗したことがわかりました。人々が提案する1つの方法は、C ++コンパイラをインストールすることです。 Visual Studio 2008 Express, 、 また Mingw Windows 7で、ソースからThriftをコンパイルします。

しかし、私はAnを見つけました Thriftのオンラインコンパイルされたバージョン。コンパイルされたバージョンのThriftをPythonにバインドして、Pycassaで使用する方法はありますか?または、ソースからリサイクルをコンパイルする必要がありますか?

役に立ちましたか?

解決

Thriftには実際には2つの(種類の)コンポーネントがあります。インターフェイスが与えられたコードを生成するThriftコンパイラがあり、それから各言語の低レベルのThriftプロトコルとトランスポートを実装する言語ごとのライブラリがあります。

ほぼ間違いなく、リンクしたものであるThrift Compilerは必要ありません。君は 行う Thrift Pythonライブラリが必要です。 PIPは、これをPycassaの依存関係としてインストールしようとします。それが破壊されている理由は、Thrift Pythonライブラリに含まれるC拡張機能があり、インストールプロセス中にそれをコンパイルしようとすることです。コンピレーションが機能するには、特別にいくつかのことをする必要があります。

開発目的でこれを行っている場合は、最新情報をダウンロードできます Thrift Pythonライブラリ 手動で、src/protocol/fastbinary.cを削除してから、トップレベルのディレクトリから「setup.pyインストール」を実行します。これは、拡張機能をコンパイルしてインストールしている場合よりも遅くなりますが、開発目的では正常に動作します。この時点で「PIPインストール-No-Deps Pycassa」を使用できますが、Pycassaだけを自動的にインストールしようとはしません。

生産のためにこれを行っている場合、C拡張子をコンパイルしてインストールすることを望むでしょう。これを行うには、インストールする必要があります Visual C ++ 2008 Express Edition, 、SVNのThriftの最新バージョンをチェックして、Lib/Pyディレクトリにアクセスして、そこで「setup.pyインストール」を実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top