安装 Ta-lib 会产生 gcc 错误
Installing Ta-lib creates gcc error
我在 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 也是 运行 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, file->default settings->project interpreter->choose python 3.6(my python version)->'+' 然后输入'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 用于 python,您需要拥有
TA-Lib 已经安装:
Mac OS X
$ brew install ta-lib
Windows
下载ta-lib-0.4.0-msvc.zip
并解压到 C:\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-Lib setup.py
的目录并继续执行命令 python setup.py install
... 应该可以工作
1) 使用 brew 安装 ta-lib
。
brew install ta-lib
2) 然后 运行 pip install TA-Lib
命令。
上述步骤在大多数情况下应该有效,但我的一位朋友遇到了 gcc
的一些问题,如果您遇到与 gcc
相关的任何问题,请尝试安装 gcc
。要安装 gcc
,您可以使用命令:
brew install gcc
希望对您有所帮助。
我在这方面也遇到了很多问题。我在这里添加我的答案,因为我读过的答案中的 none 给了我这种方法,这对我来说是解决方案,适用于那些“自制软件”没有安装在 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
的东西。在第 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
等等
我将 mac Catalina 与 python3.8 一起使用,并且在 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 被安装了。
希望对遇到类似情况的人有所帮助。
这个 all-in-one-line 解决方案适用于 Linux-based 系统 - 在 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
我在 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 也是 运行 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, file->default settings->project interpreter->choose python 3.6(my python version)->'+' 然后输入'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 用于 python,您需要拥有 TA-Lib 已经安装:
Mac OS X
$ brew install ta-lib
下载ta-lib-0.4.0-msvc.zip
并解压到 C:\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-Lib setup.py
的目录并继续执行命令 python setup.py install
... 应该可以工作
1) 使用 brew 安装 ta-lib
。
brew install ta-lib
2) 然后 运行 pip install TA-Lib
命令。
上述步骤在大多数情况下应该有效,但我的一位朋友遇到了 gcc
的一些问题,如果您遇到与 gcc
相关的任何问题,请尝试安装 gcc
。要安装 gcc
,您可以使用命令:
brew install gcc
希望对您有所帮助。
我在这方面也遇到了很多问题。我在这里添加我的答案,因为我读过的答案中的 none 给了我这种方法,这对我来说是解决方案,适用于那些“自制软件”没有安装在 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
的东西。在第 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
等等
我将 mac Catalina 与 python3.8 一起使用,并且在 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 被安装了。
希望对遇到类似情况的人有所帮助。
这个 all-in-one-line 解决方案适用于 Linux-based 系统 - 在 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