首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python TA-lib安装错误,如何解决?

Python TA-lib安装错误,如何解决?
EN

Stack Overflow用户
提问于 2017-06-26 18:28:07
回答 6查看 13.8K关注 0票数 8

我用下面的命令安装TA-lib,

代码语言:javascript
复制
pip install TA-lib

但是得到这样的错误:“命令'gcc‘失败,退出状态为1":

检查了Troubleshooting,安装了gcc,python-devel,libffi-devel,openssl-devel,还是不能工作!

然后使用conda install -c quantopian ta-lib=0.4.9 install talib,但显示错误“以下规范被发现冲突:- py-xgboost,- ta-lib 0.4.9*”,然后显示conda info ta-lib, it return the"NoPackagesFoundError: Package missing in current linux-64 channels"

EN

回答 6

Stack Overflow用户

发布于 2017-08-17 22:33:40

我遇到了完全相同的问题,并能够解决它,并在Linux和我的OSX笔记本电脑上安装TA-lib。我在这里将坚持使用linux指令,特别是CentOS,但这两种指令的诀窍是相同的……必须先在机器上安装TA-lib二进制库,然后才能使用pip安装python包装器。

我使用的引用: ttps://github.com/mrjbq7/ta-lib

如果此命令失败:

代码语言:javascript
复制
pip install TA-lib

抱怨ta_libc报头如下:

代码语言:javascript
复制
func.c:256:28: fatal error: ta-lib/ta_libc.h: No such file or directory
compilation terminated.

在安装python包装器之前,您需要安装TA-lib二进制文件。我按如下方式下载:

代码语言:javascript
复制
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz

然后解压,编译并安装:

代码语言:javascript
复制
tar -xvf ta-lib-0.4.0-src.tar.gz 
cd ta-lib
./configure --prefix=/usr
make
sudo make install
sudo ldconfig

如果您的机器上没有安装gcc和/或python3-dev,上面的步骤将会让您很吃力。一开始,他们对我大放异彩,所以我用以下方式满足了依赖性:

代码语言:javascript
复制
sudo yum install gcc
sudo yum install python36-dev

然后从头开始重新运行这些步骤,这次成功了。上面的解决方案在我的案例中有效。

我希望这对你有帮助,祝你好运!

顺便说一句。我在这里的第一个回答是,我希望它能帮助一些人,我使用StackOverflow在过去通过了很多问题,所以我希望能得到回报。

2018-08-30更新:我一直遇到编译问题,特别是下面列出的错误会重复发生。原来我在虚拟机中没有足够的内存(1 1GB)。解决方案参考:(https://github.com/mrjbq7/ta-lib/issues/133)所以我升级了内存(2 2GB),问题就解决了。

代码语言:javascript
复制
talib/_ta_lib.c:208671:15: warning: assignment from incompatible pointer type [enabled by default]

2021-03-06更新: OSX Catalina更新!在OSX Catalina (10.15+)上编译TA-lib时,上面的说明不起作用,我不得不修改以下代码:

代码语言:javascript
复制
tar -xvf ta-lib-0.4.0-src.tar.gz 
cd ta-lib 
./configure 
make
sudo make install 

在那之后,pip安装运行得很好。-

票数 14
EN

Stack Overflow用户

发布于 2019-09-07 18:10:46

我已经解决了conda environment.using的问题。

代码语言:javascript
复制
conda install -c quantopian ta-lib 
票数 3
EN

Stack Overflow用户

发布于 2021-05-26 15:20:41

因此,经过一些探索之后,我发现在尝试安装TA-lib时通常会出现两个主要问题。

  1. 在运行pip install命令之前,您没有预先安装TA-lib二进制文件
  2. 您有多个版本的python,这会破坏安装

问题1:

首先安装二进制文件:

Download ta-lib-0.4.0-src.tar.gz

  • tar -xzf
  1. make install

和run pip install TA-lib

问题2

当您安装了不同的Python版本,并且使用的pip不是系统的pip时,可能会出现此问题。在这种情况下,非系统pip将找不到正确版本的Python头文件。导致以下错误:命令'x86_64-linux-gnu-gcc‘失败,退出状态为1

在这种情况下,解决方案是找到正确的python头:

代码语言:javascript
复制
find / -iname 'Python.h'

输出:

代码语言:javascript
复制
/usr/include/python3.7m/Python.h
/usr/include/python3.6m/Python.h
/home/ubuntu/workspace/blender-git/lib/linux_centos7_x86_64/python/include/python3.7m/Python.h
/home/ubuntu/miniconda3/pkgs/python-3.8.5-h7579374_1/include/python3.8/Python.h
/home/ubuntu/miniconda3/pkgs/python-3.7.0-h6e4f718_3/include/python3.7m/Python.h
/home/ubuntu/miniconda3/include/python3.8/Python.h
/home/ubuntu/miniconda3/envs/sim/include/python3.7m/Python.h
/home/ubuntu/src/blender-deps/Python-3.7.7/Include/Python.h
/opt/lib/python-3.7.7/include/python3.7m/Python.h

然后导出正确的:

代码语言:javascript
复制
export CPPFLAGS=-I/home/ubuntu/src/blender-deps/Python-3.7.7/Include

然后是pip install命令。

只需将pip切换到另一个版本的python (例如):

代码语言:javascript
复制
pip3.6 install TA-lib 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44757678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档