安装 Ta-lib 会产生 gcc 错误



尝试在Mac上将Ta-lib作为全局软件包安装时遇到gcc错误。

我在下面收到一个错误:

gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I//anaconda/include -arch x86_64 -I//anaconda/include -arch x86_64 -I//anaconda/lib/python3.6/site-packages/numpy/core/include -I/usr/include -I/usr/local/include -I/opt/include -I/opt/local/include -I//anaconda/include/python3.6m -c talib/common.c -o build/temp.macosx-10.7-x86_64-3.6/talib/common.o
talib/common.c:242:10: fatal error: 'ta-lib/ta_defs.h' file not found
#include "ta-lib/ta_defs.h"
^
1 error generated.
error: command 'gcc' failed with exit status 1

我不确定我是否理解这意味着什么? 点子安装 Ta-lib 软件包缺少文件?这是有道理的,但它在我的 Ubuntu 服务器上安装得很好,只是我的 Mac 有问题。Ubuntu也运行Python和Anaconda的相同版本。

我的 gcc 版本如下:

➜  ~ which gcc
/usr/bin/gcc
➜  ~ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

我的 Python 安装信息如下:

➜  ~ which python
/anaconda/bin/python
➜  ~ python --version
Python 3.6.1 :: Anaconda custom (x86_64)

我实际上更喜欢将 Ta-lib 安装为全局 conda 包,因为我最终将它用于我的大多数笔记本,这些笔记本都是非常临时的工作。

昨天我花了很多时间来解决问题,但我仍然无法做到。刚才我成功安装了 TA-Lib!以下是解决方案。

首先,我在Mac终端中运行"brew install ta-lib"。然后我打开 PyCharm,文件>默认设置->项目解释器->选择 python 3.6(我的 python 版本)->'+' 并输入"TA-Lib"-> install->FINISH!

在解决问题之前,我先看看从互联网上下载的 TA-Lib 文件夹。README.md 中说,

"有时安装会产生这样的构建错误:

func.c:256:28: fatal error: ta-lib/ta_libc.h: No such file or directory compilation terminated.

这通常意味着它找不到基础TA-Lib库, 需要安装的依赖项。

然后我发现

"### 依赖项

要将 TA-Lib 用于 python,您需要拥有 已安装 TA-Lib:

Mac OS X $ brew install ta-lib

窗户下载 ta-lib-0.4.0-msvc.zip 并解压缩以C:ta-lib" 因此,问题就解决了。我希望这对你有帮助。

1) 使用 brew 安装ta-lib

brew install ta-lib

2) 然后运行pip install TA-Lib命令。

上述步骤在大多数情况下应该有效,但是我的一个朋友遇到了一些gcc问题,如果您遇到与gcc相关的任何问题,请尝试安装gcc。要安装gcc,您可以使用以下命令:
brew install gcc

希望这有帮助。

我也有很多问题。我在这里添加我的答案,因为我读过的答案都没有给我这种方法,这对我来说是解决方案,也适用于那些"自制软件"没有安装在 ta-lib 设置正在寻找的目录中的人。

我之前已经用brew install ta-lib安装了"底层"ta-lib,但它仍然给出相同的错误。我下载了带有git clone https://github.com/mrjbq7/ta-lib.git的 ta-lib python 项目,这样我就可以检查并更改它正在寻找我的"底层"ta-lib 的路线,但它没有找到。在setup.py中,您可以看到它正在寻找已安装的 ta-lib 的目录。但我的不在那里提到的任何目录中。 我通过运行brew --prefix ta-lib找到了 brew 安装 ta-lib 的位置。这给了我基本目录。然后我可以将相应的包含和 lib 目录添加到目录列表中。然后我从 github 下载的 ta-lib 项目中运行了python setup.py install,它起作用了!

更准确地说:跑步brew --prefix ta-lib给了我类似/Users/myuser/homebrew/opt/ta-lib的东西。在第 25 行周围的文件setup.py中,有一个名为include_dirs的变量,它设置为目录列表。在该变量中,我添加了包含目录的位置,即/Users/myuser/homebrew/opt/ta-lib/include。在同一文件的第 36 行周围,还有另一个变量lib_talib_dirs,我还在该变量中添加了 lib 目录的位置,即/Users/myuser/homebrew/opt/ta-lib/lib.然后我跑python setup.py install等等。

这个多合一行的解决方案在基于 Linux 的系统上为我工作 - 在 macOS 和 Debian 上测试。

brew install ta-lib && export TA_INCLUDE_PATH=$(brew --prefix ta-lib)/include && export TA_LIBRARY_PATH=$(brew --prefix ta-lib)/lib && pip install TA-Lib

我遇到了类似的和一堆其他的 TA-Lib 安装问题(MAC OS)。

看来,除了您需要从 github 或 PIP 处理安装之外,它应该在此之前已经安装在机器上(或某种...

是什么帮助了 -->

卸载自制软件:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

然后重新安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

在那之后brew install ta-lib然后将目录更改为带有 TA-Libsetup.py的目录并继续执行命令python setup.py install...应该工作

我将mac Catalina与python3.8一起使用,并且正在使用virtualenv。 我尝试了此页面上的所有建议和其他建议,但没有运气几天,有一次我认为brew TA-lib版本(0.4.0)和pip ta-lib版本(0.4.19)之间的区别是问题所在,因此尝试使用brew安装0.4.19版本,反之亦然,但没有运气。 最后我放弃了,搬到了熊猫塔。

第二天,我开始在 Twisted 上收到非常相似的错误消息,在研究这个问题时,我了解到它不支持 python3.7 以上,所以我创建了一个 conda 环境,它的安装轻而易举。 用TA-Lib尝试了同样的事情,python3.7 conda环境,brew install ta-lib,然后pip安装TA-Lib,瞧,安装了TA-Lib-0.4.19。

我希望这能帮助任何有类似情况的人。

最新更新