在Azure ML中,我尝试执行需要导入模块pyxdameraulevenshtein(https://pypi.python.org/pypi/pyxDamerauLevenshtein)的Python模块。
我按照通常的方式,即创建一个zip文件然后导入它;但是对于这个特定的模块,它似乎永远无法找到它。错误消息与往常一样:
ImportError:没有名为' pyxdameraulevenshtein'
的模块有没有人在Azure ML中成功包含这个pyxdameraulevenshtein模块?
(我从https://pypi.python.org/pypi/pyxDamerauLevenshtein拿了包。)
感谢您提供的任何帮助,
PH
答案 0 :(得分:1)
我查看了pyxdameraulevenshtein
模块页面,您可以下载两个包,其中包括MacOS的滚轮文件和源代码tar文件。我不认为你可以在Azure ML上直接使用这两者,因为MacOS只是darwin的共享库.so
文件,与Azure ML不兼容,另外你需要先编译它。
所以我的建议如下,使用pyxdameraulevenshtein
。
pyxdameraulevenshtein
的源代码编译为Windows上的DLL文件,请参阅Python文档2 / 3或搜索这样做。Execute Python script
模型中使用它。希望它有所帮助。
答案 1 :(得分:0)
将pyxdameraulevenshtein
的路径添加到系统路径可以缓解此问题。该脚本检查运行python脚本的系统路径,并且不知道在哪里查找除默认包之外的任何其他内容。如果您的python脚本与ZIP文件中的pyxdameraulevenshtein
包位于同一目录中,那么这应该可以解决问题。因为您在Azure ML中运行它并且每次运行时无法确定脚本的确切位置,所以此解决方案应该考虑到这一点。
import os
import sys
sys.path.append(os.path.join(os.getcwd(), 'pyxdameraulevenshtein'))
import pyxdameraulevenshtein