简体   繁体   中英

How to install python ta-lib library in Azure Machine Learning Juypyter Notebooks

SO I need to use this python library explained here:

https://medium.com/analytics-vidhya/recognizing-over-50-candlestick-patterns-with-python-4f02a1822cb5

However when I try to execute:

!pip install talib import talib

I get lots of errors:

Collecting talib
  Using cached talib-0.1.1.tar.gz (1.3 kB)
Building wheels for collected packages: talib
  Building wheel for talib (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /anaconda/envs/azureml_py36/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lof3_wuc/talib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lof3_wuc/talib/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 /tmp/pip-wheel-1dvr6fd9
       cwd: /tmp/pip-install-lof3_wuc/talib/
  Complete output (29 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib
  creating build/lib/talib
  copying talib/__init__.py -> build/lib/talib
  copying talib/cli.py -> build/lib/talib
  installing to build/bdist.linux-x86_64/wheel
  running install
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-lof3_wuc/talib/setup.py", line 47, in <module>
      'talib = talib.cli:cli',
    File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/anaconda/envs/azureml_py36/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 326, in run
      self.run_command('install')
    File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-lof3_wuc/talib/setup.py", line 20, in run
      raise Exception("You probably meant to install and run ta-lib")
  Exception: You probably meant to install and run ta-lib
  ----------------------------------------
  ERROR: Failed building wheel for talib
  Running setup.py clean for talib
Failed to build talib
Installing collected packages: talib
    Running setup.py install for talib ... error
    ERROR: Command errored out with exit status 1:
     command: /anaconda/envs/azureml_py36/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lof3_wuc/talib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lof3_wuc/talib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-7fqjayvz/install-record.txt --single-version-externally-managed --compile --install-headers /anaconda/envs/azureml_py36/include/python3.6m/talib
         cwd: /tmp/pip-install-lof3_wuc/talib/
    Complete output (14 lines):
    running install
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-lof3_wuc/talib/setup.py", line 47, in <module>
        'talib = talib.cli:cli',
      File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/anaconda/envs/azureml_py36/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/tmp/pip-install-lof3_wuc/talib/setup.py", line 20, in run
        raise Exception("You probably meant to install and run ta-lib")
    Exception: You probably meant to install and run ta-lib
    ----------------------------------------
ERROR: Command errored out with exit status 1: /anaconda/envs/azureml_py36/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lof3_wuc/talib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lof3_wuc/talib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-7fqjayvz/install-record.txt --single-version-externally-managed --compile --install-headers /anaconda/envs/azureml_py36/include/python3.6m/talib Check the logs for full command output.
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-56-ef2dd36041a5> in <module>
      1 get_ipython().system('pip install talib')
----> 2 import talib

ModuleNotFoundError: No module named 'talib'

@phd is right. the TA-lib Python library's README.md 's says

To use TA-Lib for python, you need to have the TA-Lib already installed.

I just created a new AML Compute Instance and was able to successfully import TA-lib for Python after first manually downloading, building and installing the TA-lib package on the VM. Some steps took around 5 min but YMMV

To install on the Azure ML Compute Instance.

  1. Open the Compute Instance in Jupyter Labs
  2. Open a new Terminal (File:New:Terminal)
  3. Type the following commands (adapted from these linux instructions )
     $ wget -c https://sourceforge.net/projects/ta-lib/files/ta-lib/0.4.0/ta-lib-0.4.0-src.tar.gz/download?use_mirror=phoenixnap -O - | tar -xz $ cd ta-lib/ $ ./configure --prefix=/usr $ make $ sudo make install
  4. install TA-lib Python wrapper pip install TA-lib (I had to do this twice for some reason)
  5. open a notebook and run a cell with import talib

. your error means that you don't have the TA-lib back

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM