Python TA-Lib install problems

2019-02-19 06:37发布

问题:

Frustratingly having a lot of difficult installing the TA-Lib package in python.

https://pypi.python.org/pypi/TA-Lib

I have read through all the forum posts I can find on this but no such luck for my particular problem..

Windows 10 Python 3.5.2 Anaconda 4.2.0 Cython 0.24.1 Microsoft Visual Studio 14.0

I have downloaded and extracted  ta-lib-0.4.0-msvc.zip to C:/TA-Lib (common problems seem to be people not installing the underlying TA-Lib file http://www.ta-lib.org/hdr_dw.html)

If someone could help me solve this I would be very appreciative!

Using 'pip install ta-lib' I get the following:

C:\Users\Matt>pip install ta-lib
Collecting ta-lib
  Using cached TA-Lib-0.4.10.tar.gz
Building wheels for collected packages: ta-lib
  Running setup.py bdist_wheel for ta-lib ... error
  Complete output from command c:\users\matt\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-build-vv02ktg_\\ta-lib\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\Matt\AppData\Local\Temp\tmpqstzmsgspip-wheel- --python-tag cp35:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.5
  creating build\lib.win-amd64-3.5\talib
  copying talib\deprecated.py -> build\lib.win-amd64-3.5\talib
  copying talib\test_abstract.py -> build\lib.win-amd64-3.5\talib
  copying talib\test_data.py -> build\lib.win-amd64-3.5\talib
  copying talib\test_func.py -> build\lib.win-amd64-3.5\talib
  copying talib\test_stream.py -> build\lib.win-amd64-3.5\talib
  copying talib\__init__.py -> build\lib.win-amd64-3.5\talib
  running build_ext
  skipping 'talib\common.c' Cython extension (up-to-date)
  building 'talib.common' extension
  creating build\temp.win-amd64-3.5
  creating build\temp.win-amd64-3.5\Release
  creating build\temp.win-amd64-3.5\Release\talib
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\matt\anaconda3\lib\site-packages\numpy\core\include -Ic:\ta-lib\c\include -Ic:\users\matt\anaconda3\include -Ic:\users\matt\anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tctalib\common.c /Fobuild\temp.win-amd64-3.5\Release\talib\common.obj
  common.c
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:c:\ta-lib\c\lib /LIBPATH:c:\users\matt\anaconda3\libs /LIBPATH:c:\users\matt\anaconda3\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64" ta_libc_cdr.lib /EXPORT:PyInit_common build\temp.win-amd64-3.5\Release\talib\common.obj /OUT:build\lib.win-amd64-3.5\talib\common.cp35-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.lib
  common.obj : warning LNK4197: export 'PyInit_common' specified multiple times; using first specification
     Creating library build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.lib and object build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.exp
  common.obj : error LNK2001: unresolved external symbol TA_SetUnstablePeriod
  common.obj : error LNK2001: unresolved external symbol TA_Shutdown
  common.obj : error LNK2001: unresolved external symbol TA_Initialize
  common.obj : error LNK2001: unresolved external symbol TA_GetUnstablePeriod
  common.obj : error LNK2001: unresolved external symbol TA_GetVersionString
  build\lib.win-amd64-3.5\talib\common.cp35-win_amd64.pyd : fatal error LNK1120: 5 unresolved externals
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1120

  ----------------------------------------
  Failed building wheel for ta-lib
  Running setup.py clean for ta-lib
Failed to build ta-lib
Installing collected packages: ta-lib
  Running setup.py install for ta-lib ... error
    Complete output from command c:\users\matt\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-build-vv02ktg_\\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\Matt\AppData\Local\Temp\pip-qxmjmn5m-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.5
    creating build\lib.win-amd64-3.5\talib
    copying talib\deprecated.py -> build\lib.win-amd64-3.5\talib
    copying talib\test_abstract.py -> build\lib.win-amd64-3.5\talib
    copying talib\test_data.py -> build\lib.win-amd64-3.5\talib
    copying talib\test_func.py -> build\lib.win-amd64-3.5\talib
    copying talib\test_stream.py -> build\lib.win-amd64-3.5\talib
    copying talib\__init__.py -> build\lib.win-amd64-3.5\talib
    running build_ext
    skipping 'talib\common.c' Cython extension (up-to-date)
    building 'talib.common' extension
    creating build\temp.win-amd64-3.5
    creating build\temp.win-amd64-3.5\Release
    creating build\temp.win-amd64-3.5\Release\talib
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\matt\anaconda3\lib\site-packages\numpy\core\include -Ic:\ta-lib\c\include -Ic:\users\matt\anaconda3\include -Ic:\users\matt\anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tctalib\common.c /Fobuild\temp.win-amd64-3.5\Release\talib\common.obj
    common.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:c:\ta-lib\c\lib /LIBPATH:c:\users\matt\anaconda3\libs /LIBPATH:c:\users\matt\anaconda3\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64" ta_libc_cdr.lib /EXPORT:PyInit_common build\temp.win-amd64-3.5\Release\talib\common.obj /OUT:build\lib.win-amd64-3.5\talib\common.cp35-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.lib
    common.obj : warning LNK4197: export 'PyInit_common' specified multiple times; using first specification
       Creating library build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.lib and object build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.exp
    common.obj : error LNK2001: unresolved external symbol TA_SetUnstablePeriod
    common.obj : error LNK2001: unresolved external symbol TA_Shutdown
    common.obj : error LNK2001: unresolved external symbol TA_Initialize
    common.obj : error LNK2001: unresolved external symbol TA_GetUnstablePeriod
    common.obj : error LNK2001: unresolved external symbol TA_GetVersionString
    build\lib.win-amd64-3.5\talib\common.cp35-win_amd64.pyd : fatal error LNK1120: 5 unresolved externals
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1120

    ----------------------------------------
Command "c:\users\matt\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-build-vv02ktg_\\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\Matt\AppData\Local\Temp\pip-qxmjmn5m-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Matt\AppData\Local\Temp\pip-build-vv02ktg_\ta-lib\

回答1:

You could try the "Unofficial Windows Binaries for Python Extension Packages by Christoph Gohlke, Laboratory for Fluorescence Dynamics, University of California, Irvine."

http://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

He has different versions compiled depending on OS and Python version. You probably need TA_Lib‑0.4.10‑cp35‑cp35m‑win_amd64.whl

Good luck.



回答2:

Download ta-lib-0.4.0-msvc.zip from http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip and unzip to C:\ta-lib

This is a 32-bit release. If you want to use 64-bit Python, you will need to build a 64-bit version of the library.

Some unofficial (and unsupported) instructions for building on 64-bit Windows 10, here for reference:

  1. Download and Unzip ta-lib-0.4.0-msvc.zip

  2. Move the Unzipped Folder ta-lib to C:\

  3. Download and Install Visual Studio Community 2015 or 2017 - have to do the big install i'm afraid - no other way

Remember to Select [Visual C++] Feature

  1. Build TA-Lib Library - From Windows Start Menu, Start [VS2015 x64 Native Tools Command Prompt]

cd to C:\ta-lib\c\make\cdr\win32\msvc

Build the Library by typing nmake

  1. Try installing ta-lib again from pip or pycharm etc...


回答3:

From https://github.com/mrjbq7/ta-lib:

'This typically means that it can't find the underlying TA-Lib library, a dependency which needs to be installed.'

Install the underlying TA-Lib library first from here: https://www.ta-lib.org/hdr_dw.html

I used the 'ta-lib-0.4.0-msvc.zip' one.

Then download a whl file from: https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

I used the 'TA_Lib‑0.4.16‑cp35‑cp35m‑win_amd64.whl' one.

I can not definitely remember but I think I lastly ran pip install TA-Lib as well



回答4:

Download related package from

https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

  TA_Lib‑0.4.17‑cp36‑cp36m‑win_amd64.whl (Since I have python 3.6, cp36)

and use

  pip install TA_Lib‑0.4.17‑cp36‑cp36m‑win_amd64.whl


回答5:

Hi you can proceed as folow :

1.Go to this page : https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

Choose your version of python : cp35 means Python 3.5 (64 bit for example)

2.Dowload the package and unzip in "...\Python\Python35\Scripts"

  1. Go on cmd and in the same repertory "...\Python\Python35\Scripts" and write: 'pip3 install TA_Lib-0.4.17-cp35-cp35m-win_amd64.whl' entry

  2. installed !



回答6:

I faced the same problems trying with Anaconda 5.1.0 and Python 3.6 via Visual Studio.

The solution was to get a wheel from https://www.lfd.uci.edu/~gohlke/pythonlibs, then install it via pip. You need to make sure the wheel matches your python version (in my case, 3.6).

In Anaconda, I just opened a prompt, navigated to where the wheel was, and ran the following: python -m pip install TA_Lib-0.4.17-cp36-cp36m-win_amd64.whl

For Visual Studio, it was more obtuse. Go to the Python Environments tab, choose 'Overview' in the dropdown, then `Open in PowerShell'. At that point, run the same command as for ANaconda above.



回答7:

The following solved the issue I had installing ta-lib for Python:

1.- OS: Windows 10 Python: 2.7, embedded in miniconda. Miniconda: 64 bits (https://conda.io/miniconda). PyCharm 2018.1.4 Community Edition (https://www.jetbrains.com/pycharm/).

2.- You need to convert ta-lib to 64 bits. You can find it already converted in here: https://github.com/afnhsn/TA-Lib_x64 This site also tells you what to do, however there are several steps not included or confusing there that I am explaining here. It is important that you do not just unzip the file 'ta-lib x64.zip' at 'C:\'. Inside the zip file, there is a 'ta-lib' folder. This folder is the one that has to be in 'C:\'

3.- From the same github account, download and execute C++ Build Tools ('en_visual_cpp_build_tools_2015_update_3_x86_x64_8923157.exe')

4.- Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27 You must download and install it, in case you don't already have it.

5.- Inside your python environment, run "pip install ta-lib".

This worked for me, I hope this info is useful for you.

Note: At the time, there is no TA-lib developed for Python 3.x, that is why I used Python 2.7