我正在尝试安装此 https://github.com/mrjbq7/ta-lib MS Azure Jupyter 笔记本环境上的包。在我本地的 anaconda 环境中,这一切都运行良好。
PIP 产生故障排除部分中描述的第一个错误,但我不明白解决方案。
接下来,我在 azure 项目站点上尝试了终端,但是当我尝试使用 wget -c url
加载 tar 文件时,权限被拒绝。
我可以将 tar 文件上传到项目文件夹中,但我不知道如何通过终端找到该文件。
我可以尝试其他方法吗?
最佳答案
MS Jupyter笔记本中没有gcc
发行版和sudo
权限,因此在尝试安装TA-Lib时会出现如下图所示的错误
通过pip,因为its PyPI page中没有其预编译的wheel文件可供安装并且 talib
Python 包需要 gcc
来编译 TA-Lib
C 语言源代码。
所以解决方案是手动从源代码编译并打包talib
库作为wheel文件,然后将其及其依赖项上传并安装到Microsoft Azure Notebook,最后就可以制作示例了代码工作原理如下图。
这是我的详细步骤,我是在本地 Windows 计算机的 WSL 中完成的。您可以尝试在 Linux 机器上执行相同的操作
在 Python 3.6 中创建一个新目录并使用
virtualenv
初始化它按照
mrjbq7/ta-lib
的README.md
内容进行操作安装TA-Lib
C源代码作为TA-Lib
Python包的依赖项。它需要先在 Linux 中安装gcc
、make
。下载
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步后,在
talib
目录下会出现一个名为TA_Lib-0.4.17-cp36-cp36m-linux_x86_64.whl
的文件,如下如下图。重要:
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
并成功运行它。
关于python - 当 PIP 不起作用时在 MS Azure 上安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59381853/