Невозможно установить TA-Lib в Ubuntu

Я пытаюсь установить Python Ta-Lib в Ubuntu, но когда я запускаю:

pip install TA-Lib

Я получаю эту ошибку:

Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-YfCSFn/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 /tmp/pip-swmI7D-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-YfCSFn/TA-Lib/

Я уже установил:

sudo apt-get install python3-dev

и установил Ta-lib

Как я могу это исправить?

3 ответа

Решение

Похоже, у других людей была эта проблема.

Чтобы процитировать принятый ответ:

Похоже, что ваш PiP не может получить доступ к Setuptools согласно "import setuptools" в ошибке. Сначала попробуйте следующее, затем попробуйте запустить установку pip снова.

> sudo pip install -U setuptools

Или, если это не работает, чтобы процитировать его комментарий:

Попробуйте это 'sudo -H pip install TA-Lib'

Как сказал в комментариях Филипе Ферминиано, если это не помогло, вы можете попробовать то, что сказано по этой ссылке.

Чтобы процитировать принятый ответ еще раз:

Your sudo is not getting the right python. This is a known behaviour of sudo in Ubuntu. See this question for more info. You need to make sure that sudo calls the right python, either by using the full path:
sudo /usr/local/epd/bin/python setup.py install

или выполнив следующее (в bash):

alias sudo='sudo env PATH=$PATH'
sudo python setup.py install

Вот вопрос, о котором он говорит

Пожалуйста, отдайте должное одному из принятых ответов, если это решит вашу проблему.

Я могу загрузить в Python3.

шаги:

  1. скачать с http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz

  2. распаковываем tar -xvf ta-lib-0.4.0-src.tar.gz

  3. cd /../ta-lib

  4. ./configure --prefix=/usr

  5. make

  6. sudo make install

  7. sudo apt upgrade

  8. pip install ta-lib или же pip install TA-Lib

  9. Проверьте import talib

Это всегда было непросто, но я создал скрипт, который верно служил мне в нескольких физических, виртуальных и серверных экземплярах Ubuntu (включая GitHub Actions).

Это немного длинно, но всесторонне и работало в каждом экземпляре Ubuntu, для которого мне это было нужно. Он включает в себя несколько предупредительных шагов, которые ранее вызывали ошибки.

      sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
sudo apt install wget -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt-get install build-essential -y
sudo apt install python3.10-dev -y
sudo apt-get install python3-dev -y

wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -xzf ta-lib-0.4.0-src.tar.gz
cd ta-lib

wget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' -O './config.guess'
wget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' -O './config.sub'
./configure --prefix=/usr
make
sudo make install

sudo rm -rf ta-lib
sudo rm -rf ta-lib-0.4.0-src.tar.gz

pip install ta-lib

Он состоит из многих шагов...

  1. Обновите встроенные пакеты с помощью apt.
  2. Добавьте репозиторий deadsnakes.
  3. Установитьbuild-essentialиpython-dev(python3-dev,python3.10-dev).
  4. Загрузите архив TA-Lib с помощьюwget.
  5. Загрузите обновленные файлы распознавателя make, чтобы предотвратить распространенные проблемы с и .
  6. makeTA-Lib иmake installэто.
  7. Навести порядок.
  8. Установите с помощью, чтобы убедиться, что все работает. (pipустановит последнюю версию TA-Lib,0.4.24, даже несмотря на то, что мы можем загрузить исходный код только для0.4.0. Это работает нормально.)

Поскольку я часто использую это, я превратил его в для прямого доступа к сценарию с помощьюcurl.

Просто возьмите необработанную ссылку со gistстраницы Gist и используйте ее, как показано ниже.

      curl https://gist.githubusercontent.com/preritdas/bunchofrandomstuffhere/install-talib-ubuntu.sh | sudo bash

Убедитесь, что выsudoактивируется перед запуском команды, чтобы предотвратить проблемы. Он запустит все вышеперечисленные команды в виде скрипта и установит TA-Lib примерно за 4-5 минут (в среднем по моему опыту).

Вот запись оболочки этой работы на свежем экземпляре сервера Ubuntu 22.04.

asciiccast

В общем, я надеюсь, что это поможет; для меня это сделало когда-то разочаровывающий и изменчивый процесс легким.

Другие вопросы по тегам