python - 当 PIP 不起作用时在 MS Azure 上安装包

标签 python azure azure-devops ta-lib

我正在尝试安装此 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 语言源代码。

enter image description here

enter image description here

所以解决方案是手动从源代码编译并打包talib库作为wheel文件,然后将其及其依赖项上传并安装到Microsoft Azure Notebook,最后就可以制作示例了代码工作原理如下图。

enter image description here

这是我的详细步骤,我是在本地 Windows 计算机的 WSL 中完成的。您可以尝试在 Linux 机器上执行相同的操作

  1. 在 Python 3.6 中创建一个新目录并使用 virtualenv 初始化它

    enter image description here

  2. 按照mrjbq7/ta-libREADME.md内容进行操作安装TA-Lib C源代码作为TA-Lib Python包的依赖项。它需要先在 Linux 中安装 gccmake

    enter image description here

  3. 下载mrjbq7/ta-lib的源代码从其发布页面,然后按照以下命令解压并编译它。

    enter image description here

    $ 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
    
  4. 成功执行第3步后,在talib目录下会出现一个名为TA_Lib-0.4.17-cp36-cp36m-linux_x86_64.whl的文件,如下如下图。

    enter image description here

  5. 重要: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

    enter image description here

  6. 将步骤 4 和 5 的文件 TA_Lib-0.4.17-cp36-cp36m-linux_x86_64.whllibta_lib.so.0 上传到您的项目在MS Azure Notebook中,如下图。

    enter image description here

  7. 最后,您可以从自己的wheel文件安装TA-Lib并成功运行它。

    enter image description here

关于python - 当 PIP 不起作用时在 MS Azure 上安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59381853/

相关文章:

python - 基于多列标题的部分字符串进行过滤

azure - testcafe:访问 Azure 门户中的 "Error while loading extension HubsExtension"选项卡时出现 "Resource Group"

azure - 从 Azure Blob 存储下载大型 Blob 被卡住

python - TensorFlow推论

Python 参数解析 : Insert blank line between help entries

python - 物联网中心事件 python

azure-devops - 图片未出现在 Jacoco 覆盖率报告中(既不在 Index.html 中也不在 VSTS 中)

powershell - Azure DevOps 托管代理管道 "Unable to locate executable file: ' Powershell'

linux - 未找到 SSH Shell 命令(composer、npm)

python - 无法使用 python 将数据从 postgres 表提取到 .ods 文件