在Windows 7中安装talib失败

时间:2017-07-26 21:11:50

标签: python ta-lib

我尝试在Windows中安装TALib,但我收到此错误:

   common.obj : error LNK2019: unresolved external symbol TA_GetUnstablePeriod referenced in function __pyx_pf_5talib_6common_8_ta_get_unstable_period
    build\lib.win-amd64-2.7\talib\common.pyd : fatal error LNK1120: 5 unresolved externals
    error: command 'C:\\Users\\felipe.ferminiano\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\link.exe' failed with exit status 1120

    ----------------------------------------
Command "C:\ProgramData\Anaconda2\python.exe -u -c 
    "import setuptools, tokenize;
        __file__='c:\\users\\felipe~1.fer\\appdata\\local\\temp\\pip-build-kye3ah\\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 c:\users\felipe~1.fer\appdata\local\temp\pip-al6w47-record\install-record.txt --single-version-externally-managed --compile"
failed with error code 1 in c:\users\felipe~1.fer\appdata\local\temp\pip-build-kye3ah\TA-Lib\

我跑的时候:

pip install TA-Lib

我已经为Python 2.7安装了Microsoft Visual C ++编译器。 我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

存储库中的README中提到了该错误:GitHub Repo

  

有时安装会产生如下的构建错误:

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

这通常意味着它无法找到底层的TA-Lib库,这是一个需要安装的依赖项。在Windows上,这可能是由安装底层TA-Lib库的32位二进制分发版引起的,但是试图将它与64位Python一起使用。

由于您的错误日志包含amd64,因此32位与64位问题可能是您的实际问题。

该库仅以32位格式分发(编译/链接日期为2007年)

检查问题#11,GitHub - Issue #11以获取有关如何自行编译的提示。

答案 1 :(得分:1)

我遇到了运行Anaconda3 / python3.5 / JupiterNotebook的同样问题: 检查您的版本并从以下网址下载相应的二进制文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

上传并安装:

!pip install TA_Lib-0.4.17-cp35-cp35m-win_amd64.whl

答案 2 :(得分:0)

Ta-Lib安装要求您安装二进制依赖项。通过安装whl文件,可以很容易地安装它。可以在以下链接中找到该文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib。您可以参考此博客以获取详细步骤:https://blog.quantinsti.com/install-ta-lib-python/

我已经在ta-lib和其他软件包之间进行了并行运行,还使用了jit编译器。但是ta-lib的结果要好得多。在互联网上,您会找到很多解决方案,但是最好通过whl进行安装。

我希望这会有所帮助。