我不熟悉Azure和Python,我正在尝试在Azure中运行Python脚本作为一个webjob。我知道我需要在webjob中包含所有的包文件,但是我认为我缺少一些导致错误的依赖项。以下是错误日志:
[01/28/2015 03:53:29 > 52e03f: SYS INFO] Status changed to Initializing
[01/28/2015 03:53:35 > 52e03f: SYS INFO] Run script 'get_teams_espn.py' with script host - 'PythonScriptHost'
[01/28/2015 03:53:35 > 52e03f: SYS INFO] Status changed to Running
[01/28/2015 03:53:36 > 52e03f: ERR ] Traceback (most recent call last):
[01/28/2015 03:53:36 > 52e03f: ERR ] File "get_teams_espn.py", line 45, in <module>
[01/28/2015 03:53:36 > 52e03f: ERR ] teams_dict = teams_espn(url)
[01/28/2015 03:53:36 > 52e03f: ERR ] File "get_teams_espn.py", line 23, in teams_espn
[01/28/2015 03:53:36 > 52e03f: ERR ] soup = BeautifulSoup(r.content, 'lxml')
[01/28/2015 03:53:36 > 52e03f: ERR ] File "site-packages\bs4\__init__.py", line 152, in __init__
[01/28/2015 03:53:36 > 52e03f: ERR ] % ",".join(features))
[01/28/2015 03:53:37 > 52e03f: ERR ] bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
[01/28/2015 03:53:37 > 52e03f: SYS INFO] Status changed to Failed
[01/28/2015 03:53:37 > 52e03f: SYS ERR ] Job failed due to exit code 1
以下是我的进口:
^{pr2}$我还需要什么其他包才能使这个脚本正常工作?或者我没有设置脚本来查找包文件吗?请帮忙,谢谢!在
我能够使用不能直接在Azure环境中构建的python包。例如,如果希望包含依赖于
lxml
绑定的包。这个问题可以通过告诉Azure环境直接从wheels文件安装而不是下载远程资源并编译它来解决。在创建文件夹:
从Gohlke's Unofficial Windows Binaries获取合适的
^{pr2}$lxml
wheels二进制文件,并将其复制到“wheelhouse”目录中。对我来说是版本lxml-3.6.0-cp34-cp34m-win32.whl
完成了任务。 我不得不将lxml-3.6.0-cp34-cp34m-win32.whl
重命名为lxml-3.6.0-py3-none-any.whl
才能正常工作。最后,确保在requirements.txt
中包含第1行中的以下内容:第一行告诉部署中的pip不要检查远程源,第二行告诉在哪里查找安装包。在
我还在本地为与web应用程序相关的包创建了wheels文件。重要的是要解析所有依赖项,并将wheels文件放入
wheelhouse
目录中。在相关问题 更多 >
编程相关推荐