OnTheContrary 的回答非常好,但在撰写本文时,pythonlibs 网站上的轮子无法完全按照提供的方式部署到 Azure Web 应用程序。幸运的是,重命名 wheel 文件似乎解决了 numpy、pandas 和 scipy 的问题。
目前,当我从 Python 3.4 WebJob 运行 import pip; print(pip.pep425tags.get_supported()) 时,我得到以下输出:
[09/28/2016 17:08:30 > 775106: INFO] [('cp34', 'none', 'win32'),
('cp34', 'none', 'any'), ('cp3', 'none', 'any'), ('cp33', 'none', 'any'),
('cp32', 'none', 'any'), ('cp31', 'none', 'any'), ('cp30', 'none', 'any'),
('py34', 'none', 'any'), ('py3', 'none', 'any'), ('py33', 'none', 'any'),
('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
pythonlibs 中的 numpy-1.11.2rc1+mkl-cp34-cp34m-win32.whl 文件将解析为 ('cp34', 'cp34m', 'win32'),因此不受支持。幸运的是,可以通过将轮子重命名为 numpy-1.11.2rc1+mkl-cp34-none-win32.whl 来部署轮子。类似的修改适用于 pandas 和 scipy 包。
另外,关于 OnTheContrary 建议的方法的一些说明:
- 有关为 Web 应用部署创建 git 存储库的更多信息,请访问 here。您可以将轮子添加到 git 存储库的基本目录中,然后将每个文件名包含在
requirements.txt 文件中。
-
在尝试将包导入 WebJob 之前,您需要确保 Web 应用的 site-packages 文件夹位于系统路径中。您可以通过在 WebJob 的 run.py 文件的开头添加以下几行来做到这一点:
import sys, os
sys.path.append('D:\\home\\site\\wwwroot\\env\\Lib\\site-packages')