我正在尝试在 Ubuntu 中安装 Python Ta-Lib,但是当我运行时:
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
我该如何解决这个问题?
我能够加载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 物理、VM 和服务器实例(包括 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
它由许多步骤组成...
build-essential
和 python-dev
(python3-dev
、python3.10-dev
)。wget
下载 TA-Lib tarball。make
和 make install
的常见问题。make
TA-Lib 和 make install
它。pip
安装以确保一切正常。 (pip
将安装最新版本的TA-Lib,0.4.24
,尽管我们只能下载0.4.0
的源代码。这很好用。)因为我经常使用这个,所以我把它变成了gist,目的是直接用
curl
访问脚本。
只需从要点页面获取原始链接并按如下方式使用它。
curl https://gist.githubusercontent.com/preritdas/bunchofrandomstuffhere/install-talib-ubuntu.sh | sudo bash
在运行命令之前,请确保您已
sudo
激活,以防止出现问题。它将作为脚本运行上述所有命令,并在大约 4-5 分钟内安装 TA-Lib(根据我的经验,平均时间)。
这是在 Ubuntu 22.04 的新服务器实例上运行的 shell 记录。
总而言之,我希望这会有所帮助;对我来说,它让曾经令人沮丧和不稳定的过程变得容易。
似乎其他人也有这个问题。
引用已接受的答案:
似乎您的画中画无法按照“导入 setuptools”在错误中。首先尝试以下操作,然后尝试运行您的 再次 pip 安装。
> sudo pip install -U setuptools
或者如果引用他的评论不起作用:
尝试这个“sudo -H pip install TA-Lib”
正如 Filipe Ferminiano 在评论中所说,如果这仍然不能解决问题,那么您可以尝试此链接上所说的内容。
再次引用已接受的答案:
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
这是问题他正在谈论
如果已接受的答案解决了您的问题,请给予认可。
我创建了这个名为
install_talib.py
的 Python 文件。刚刚运行该文件并安装了 ta-lib。对于我来说这是一个完美的解决方案!.
import subprocess
import os
import sys
subprocess.run(["wget", "http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz"])
subprocess.run(["tar", "-xzf", "ta-lib-0.4.0-src.tar.gz"])
os.chdir("ta-lib")
subprocess.run(["./configure", "--prefix=/usr"])
subprocess.run(["make"])
subprocess.run(["sudo", "make", "install"])
subprocess.run([sys.executable, "-m", "pip", "install", "ta-lib"])