Невозможно установить 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.
шаги:
скачать с http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
распаковываем
tar -xvf ta-lib-0.4.0-src.tar.gz
cd /../ta-lib
./configure --prefix=/usr
make
sudo make install
sudo apt upgrade
pip install ta-lib
или жеpip install TA-Lib
Проверьте
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
Он состоит из многих шагов...
- Обновите встроенные пакеты с помощью apt.
- Добавьте репозиторий deadsnakes.
- Установить
build-essential
иpython-dev
(python3-dev
,python3.10-dev
). - Загрузите архив TA-Lib с помощью
wget
. - Загрузите обновленные файлы распознавателя make, чтобы предотвратить распространенные проблемы с и .
-
make
TA-Lib иmake install
это. - Навести порядок.
- Установите с помощью, чтобы убедиться, что все работает. (
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.
В общем, я надеюсь, что это поможет; для меня это сделало когда-то разочаровывающий и изменчивый процесс легким.