我正在尝试在MS Azure Jupyter笔记本环境上安装此https://github.com/mrjbq7/ta-lib软件包。在我本地的Anaconda环境中,一切都很好。
PIP会产生“故障排除”部分中描述的第一个错误,但是我不理解该解决方案。
接下来,我在azure项目站点上尝试了终端,但是当我尝试使用wget -c url
加载tar文件时,我被拒绝了权限。
我可以将tar文件上传到项目文件夹中,但是我不知道如何通过终端找到该文件。
还有其他方法可以尝试吗?
答案 0 :(得分:0)
MS Jupyter笔记本中没有gcc
发行版和sudo
权限,因此,当尝试通过pip安装TA-Lib
时,会出现如下图所示的错误,因为没有其预编译的wheel文件以安装在its PyPI page中,而talib
Python软件包则需要gcc
才能用C编译TA-Lib
源代码。
因此解决方案是手动将talib
库作为源文件中的wheel文件进行编译和打包,然后将其及其依赖项上载并安装到Microsoft Azure Notebook中,最后您可以使示例代码按以下方式工作:下图。
这是我的详细步骤,我是在本地Windows计算机的WSL中完成的。您可以尝试在Linux计算机上执行相同的操作
要创建一个新目录并在Python 3.6中使用virtualenv
对其进行初始化
按照mrjbq7/ta-lib
的README.md
内容安装TA-Lib
C源代码,作为TA-Lib
Python软件包的依赖项。它需要gcc
,make
首先安装在Linux中。
从mrjbq7/ta-lib
的发行版页面下载其源代码,然后按照以下命令对其进行解压缩和编译。
$ tar -xzf TA_Lib-0.4.17.tar.gz
$ cd ta-lib-TA_Lib-0.4.17
$ pip install numpy
$ make
$ pip wheel --wheel-dir=talib ta-lib
$ cd talib
成功完成第3步后,在TA_Lib-0.4.17-cp36-cp36m-linux_x86_64.whl
目录中有一个名为talib
的文件,如下图。
重要:TA-Lib
需要从步骤3编译的名为libta_lib.so.0
的运行时库,您可以在路径/usr/lib
中找到它真实文件的名称为libta_lib.so.0.0.0
,因此您需要复制libta_lib.so.0.0.0
并用libta_lib.so.0
重命名。
将步骤4和5的文件TA_Lib-0.4.17-cp36-cp36m-linux_x86_64.whl
和libta_lib.so.0
上传到MS Azure Notebook中的项目中,如下图所示。
最后,您可以从您自己的wheel文件安装TA-Lib
并成功运行。
答案 1 :(得分:0)
感谢您的广泛回答。经过一番往复后,我设法编译了一些与轮文件相似的东西。我使用的是win10 ubuntu终端,它有其自身的问题,默认情况下缺少各种依赖项。
无论如何,现在看来我是在Azure环境不接受的python 2.7下编译.whl文件的,尽管我非常确定我已将ubuntu python版本升级到了3.6
!pip install TA_Lib-0.4.17-cp27-cp27mu-linux_x86_64.whl
错误:此平台不支持TA_Lib-0.4.17-cp27-cp27mu-linux_x86_64.whl。
由于我可能不得不重复该过程,因此需要一些详细的问题:
1)在第一步中我需要什么virtualenv?我的ubuntu发行版应该已经使用python安装了吗?
2)我需要步骤2和3吗?在我未经训练的人看来,第3步只是更新了tar文件的第2步。