2012-01-26 7 views
2

hereというTA-LIB関数の一部をPythonスクリプトで使用することができるかどうかについて、私に指導してもらえませんか?私はCを知らないので、しかし、私は記事で起こっていただきましたのはほとんど理解している、私はthisを読む...私が知っている他の言語でC PythonのTA-Lib関数

を関数を見つけ、その可能性のいくつかのレベルがあるように思わカントまったく。ああ、あなたはTA-LibがPythonに移植されているのだろうかと疑問を持っているが、実際にはMac上にビルドされておらず、ほとんどの人は問題があると言っている。

本質的には、アプリ全体をswigで動かすことができません。代わりに関数をコンパイルして(意味があるかどうかわからなくても)、Pythonアプリケーションで使用できるかどうか疑問に思っていました方法についてのガイダンス)。

+0

可能ですが、おそらく単純ではありません。この投稿はあなたを助けるかもしれません:http://dpinte.wordpress.com/2010/04/22/interfacing-ta-lib-with-cython/ –

答えて

7

は、私はあなたが取ることができる3つの単純なアプローチがあると信じています。長い間更新されていないため、Python 2.3でビルドするためにハードコードされています。 Andy Hawkins氏は、新しいバージョンのPythonで動作するように、directionsを書きました。

Cython

は私がTA-libにすべての機能をラップするCythonを使用していますTA-Lib python wrapperを書き、GitHubの上でそれをリリースしました。それは私のために本当にうまく動作し、Numpyアレイを使用し、SWIGインターフェイスよりも2〜4倍高速で、より「pythonic」でインストールが簡単です(Mac OS Xで動作)。

ctypesの

あなただけのTA-Libのライブラリに電話をかけることがuse ctypesすることができます、ライブラリから関数の小さな数が必要な場合。

+1

あなたは男です。私は経験したことがあり、サイモンの機能の15を好きになった、私は束をもっと彼らのためにそれらを行う必要があることがわかったときに私の髪を引き出していた。間違いなくあなたのCythonラッパーを使用しています。ありがとうSOOOOO MUCH。 – NoviceCoding

+0

こんにちは、私は最初に説明を通してインストールしてみました。私はcythonを最初にインストールしなければならなかったし、 "gccが終了ステータス1で失敗しました"という問題に走りました、C:\ Python27 \ Lib \ distutils \ cygwinccompiler.pyからすべての-myg(何か)を削除することで修正しました。正常に動作し、 "easy_install TA-Lib"を実行しようとすると、 "gccが終了ステータス1で失敗しました"というエラーが表示されます。私が紛失しているものはありますか? – user1234440

+1

@ user1234440これはうまく動作しましたか?私の[Github](https://github.com/mrjbq7/ta-lib)プロジェクトのバグレポートを作成してください。 – mrjbq7

0

必要なのは、ライブラリ内の単一の関数であれば、yoyuはctypesを使う方が良いでしょう。 - ctypesは、ライブラリへの呼び出しをネイティブコードで実行できるようにする標準ライブラリのPythonモジュールです。

ctypesを使ってPythonオブジェクトとしてTA-LIBを取得する方法と、必要な関数を呼び出す方法をPythonコンソールで確認するだけです。 Ctypesはintと文字列を自動的にCに変換しますが、他のパラメータ型の関数アノテーションを実行する必要があります。

TA-LibはSWIGによって生成されたPythonラッパーが付属しています

SWIG: