【问题标题】:Installing Ta-lib creates gcc error安装 Ta-lib 会产生 gcc 错误
【发布时间】:2017-04-07 05:08:00
【问题描述】:

尝试在我的 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

我不确定我是否理解这意味着什么? pip install Ta-lib 包缺少文件?这是有道理的,但它可以很好地安装在我的 Ubuntu 服务器上,只是我的 mac 有问题。 Ubuntu 也使用相同版本的 Anaconda 运行 Python。

我的 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 包,因为我最终将它与我的大多数笔记本电脑一起使用,这些笔记本电脑都是非常临时的工作。

【问题讨论】:

标签: python python-3.x gcc ta-lib


【解决方案1】:

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

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

在解决问题之前,先看看网上下载的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 for python,你需要有 TA-Lib 已安装:

Mac OS X

$ brew install ta-lib

视窗

下载ta-lib-0.4.0-msvc.zip 并解压到C:\ta-lib " 因此问题解决了。我希望这会对你有所帮助。

【讨论】:

    【解决方案2】:

    1) 使用 brew 安装 ta-lib

    brew install ta-lib

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

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

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

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

      我之前使用brew install ta-lib 安装了“基础”ta-lib,但它仍然给出相同的错误。我使用git clone https://github.com/mrjbq7/ta-lib.git 下载了 ta-lib python 项目,因此我可以检查和更改它正在寻找我的“基础”ta-lib 的路线,但它没有找到。在setup.py 中,您可以看到它正在寻找 brew 安装的 ta-lib 的目录。但我的不在其中提到的任何目录中。 我通过运行brew --prefix ta-lib 找到了 brew 安装 ta-lib 的位置。这给了我基本目录。然后我可以将相应的 include 和 lib 目录添加到目录列表中。然后我从我从 github 下载的 ta-lib 项目中运行 python setup.py install,它成功了!

      更准确地说:运行brew --prefix ta-lib 给了我类似/Users/myuser/homebrew/opt/ta-lib 的信息。在文件setup.py 的第25 行附近,有一个名为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等等。

      【讨论】:

        【解决方案4】:

        我有一个类似的和一堆其他的 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-Lib setup.py 的目录并继续执行命令 python setup.py install... 应该可以工作

        【讨论】:

          【解决方案5】:

          我使用带有 python3.8 的 mac Catalina 并且在 virtualenv 中工作。我尝试了这个页面上的所有建议以及其他几天没有运气的建议,有一次我认为 brew TA-lib 版本(0.4.0)和 pip ta-lib 版本(0.4.19)之间的区别是这个问题,所以试图用 brew 安装 0.4.19 版,反之亦然,但没有运气。最后我放弃了,搬到了 pandas-ta。

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

          我希望这对有类似情况的人有所帮助。

          【讨论】:

            猜你喜欢
            • 2017-03-09
            • 2020-05-05
            • 1970-01-01
            • 2020-06-14
            • 1970-01-01
            • 2015-03-22
            • 1970-01-01
            • 2017-11-29
            • 1970-01-01
            相关资源
            最近更新 更多