🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

5222閲覧

python Ta-Libをpip installできません。

bunbuk05

総合スコア13

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/02/18 05:27

前提・実現したいこと

インストール先が共有サーバー(CORESERVER)のため、
ta-lib本体のインストール先を”$HOME/.local”としています。
恐らく、これによりpipインストール時に.hファイル参照ができないのでエラーが
出ているかと思いますが、ここから先の対象方法が分からず困っています。

発生している問題・エラーメッセージ

talib/_ta_lib.c:611:10: fatal error: ta-lib/ta_defs.h: No such file or directory #include "ta-lib/ta_defs.h" ^~~~~~~~~~~~~~~~~~ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-u98afak8/ta-lib/setup.py'; f=getattr(tokenize, 'open', open)(__file__); code=f.read().replace('\r\n', '\n');f.close(); exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-wq39fqlx-record/ install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-u98afak8/ta-lib/

エラー前までに実行した作業

bash

1wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz 2tar -zxvf ta-lib-0.4.0-src.tar.gz 3cd ta-lib 4./configure --prefix=$HOME/.local 5make 6make install 7python3 -m pip install ta-lib --user

make installまではエラーなし

補足情報(FW/ツールのバージョンなど)

python3パス:/usr/bin/python3

HOME

1.local 2 ├── bin 3 ├── lib 4 │ ├── python3.6 5 │ └──site-packages 6 └── include 7 ├── ta-lib 8 ├── ta_defs.h 9 └── ...他ヘッダーファイル 10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

恐らく、これによりpipインストール時に.hファイル参照ができないのでエラーが

出ているかと思いますが、ここから先の対象方法が分からず困っています。

その予想で合っています。インストール時のビルドで、TA-Libのインクルードパス(と、さらにその後の段階でライブラリパス)を見つけられないのでエラーになります。

対策としては、pip経由でsetup.pyにこれらのパスを伝えるために、--global-optionオプションを使います。具体的には、build_ext-I(インクルードパス)-L(ライブラリパス)の3つを指定する必要があります。

たとえば、こんな感じ。$HOMEを展開するため、後の2つは"で囲む点に注意してください。

$ python3 -m pip install ta-lib --user --global-option='build_ext' --global-option="-I$HOME/.local/include" --global-option="-L$HOME/.local/lib"

投稿2021/02/18 06:58

編集2021/02/18 07:00
Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bunbuk05

2021/02/18 10:49

解決できました!このようなoptionがあったのですね。分かりやすく説明して頂いてありがとうございました。
guest

0

環境変数を読み取ってくれるなら、
お行儀は良くないかも知れませんが、

CFLAGS=-I$HOME/.local/include LDFLAGS=-L$HOME/.local/lib pip install ta-lib --user

投稿2021/02/18 06:33

phoepsilonix

総合スコア233

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bunbuk05

2021/02/18 10:45

教えて頂いたコマンドでやりたいことが解決できました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問