【问题标题】:Import Numpy in Python WebJob on Azure在 Azure 上的 Python WebJob 中导入 Numpy
【发布时间】:2015-11-05 05:25:15
【问题描述】:

如何将 Numpy(和其他要求)添加到 Microsoft Azure 上的 Python WebJob?

我在 Azure 上部署了 Python WebJob,并且能够通过手动将包从本地系统复制到文件夹 site-packages 并调用 sys.path.append('site-packages')as explained in this post 来导入包。这适用于某些包,但不适用于 numpy。

尝试导入 numpy 时,我收到此错误:

File "site-packages\numpy\core\__init__.py", line 14, in <module> from . import multiarray ImportError: cannot import name 'multiarray'

我尝试使用运行 python 3.5 的 Mac 和运行 python 3.4 的 Windows PC 中的 numpy 文件夹。 Azure WebJob 正在运行 python 3.4。

理想情况下,我想在某处放置 requirements.txt,但这似乎不适用于 Azure WebJobs。

【问题讨论】:

  • 看看这是否回答了你的问题:stackoverflow.com/questions/23831479/…
  • 这些解决方案都使用requirements.txt,它显然适用于 Azure Web 应用程序和 Web 角色,但不适用于 WebJobs。
  • 请尝试按照azure.microsoft.com/en-us/documentation/articles/…Troubleshooting: Package Installation 部分进行操作。
  • 如何从 WebJob 调用 pip?
  • 您所说的对某些软件包有效的链接现在已关闭。你是怎么让它工作的?我无法让我阅读任何包裹。

标签: python python-3.x azure numpy azure-webjobs


【解决方案1】:

我发现您需要拥有site-packages 文件夹的完整路径。

import sys, os
sys.path.append(os.path.join(os.getcwd(), "site-packages"))
import numpy as np

a = np.arange(15).reshape(3, 5)

print "%r" % a

由于 numpy 包含一些 C++ dll,请确保您从 Windows 机器复制它。

【讨论】:

  • 有效!我发现使用来自 64 位 Windows 机器的站点包不起作用,即使我将 Azure 设置为 64 位。所以我不得不在 Windows 机器上安装一个 32 位的 python3.4 环境来抓取文件。
猜你喜欢
  • 1970-01-01
  • 2016-06-14
  • 2022-01-14
  • 2010-11-19
  • 1970-01-01
  • 2015-05-31
  • 2016-06-08
  • 2017-08-13
  • 1970-01-01
相关资源
最近更新 更多