Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有脚本包的Azure ML Python无法导入模块_Python_Azure_Azure Machine Learning Studio - Fatal编程技术网

带有脚本包的Azure ML Python无法导入模块

带有脚本包的Azure ML Python无法导入模块,python,azure,azure-machine-learning-studio,Python,Azure,Azure Machine Learning Studio,在Azure ML中,我试图执行一个Python模块,该模块需要导入模块pyxdameraulevenshtein() 我遵循了通常的方法,即创建一个zip文件,然后导入它;然而,对于这个特定的模块,它似乎永远无法找到它。错误消息与往常一样: ImportError:没有名为“pyxdameraulevenshtein”的模块 是否有人成功地将此pyxdameraulevenshtein模块包含在Azure ML中 (我把包裹从我手里拿了过来。) 谢谢你能提供的帮助 PH将pyxdameraul

在Azure ML中,我试图执行一个Python模块,该模块需要导入模块pyxdameraulevenshtein()

我遵循了通常的方法,即创建一个zip文件,然后导入它;然而,对于这个特定的模块,它似乎永远无法找到它。错误消息与往常一样:

ImportError:没有名为“pyxdameraulevenshtein”的模块

是否有人成功地将此pyxdameraulevenshtein模块包含在Azure ML中

(我把包裹从我手里拿了过来。)

谢谢你能提供的帮助


PH

pyxdameraulevenshtein
的路径添加到系统路径应该可以缓解此问题。该脚本检查python脚本运行的系统路径,除了默认包之外,不知道在哪里可以查找其他内容。如果您的python脚本与ZIP文件中的
pyxdameraulevenshtein
包位于同一目录中,那么这应该可以做到这一点。因为您正在Azure ML中运行此脚本,并且每次运行时都无法确定脚本的确切位置,所以此解决方案应该考虑到这一点

import os
import sys

sys.path.append(os.path.join(os.getcwd(), 'pyxdameraulevenshtein'))

import pyxdameraulevenshtein

我查看了
pyxdameraulevenshtein
模块页面,有两个包可以下载,其中包括MacOS的滚轮文件和源代码tar文件。我不认为您可以直接在Azure ML上使用这两个文件,因为MacOS one只是一个共享库
。因此
达尔文文件与Azure ML不兼容,而另一个则需要先编译它

因此,我的建议如下:使用
pyxdameraulevenshtein

  • 首先,将
    pyxdameraulevenshtein
    的源代码编译为Windows上的DLL文件,请参阅Python文档或搜索以执行此操作
  • 使用编译的DLL编写Python脚本以实现您的需求,请参考SO线程了解如何使用Python中的DLL,并参考Azure Office编写Python脚本
  • 将您的Python脚本和DLL文件打包为zip文件,然后上载zip文件以在Azure ML的
    执行Python脚本
    模型中使用

  • 希望能有所帮助。

    感谢stevedem的回复,我确实尝试过,尽管它可以与其他一些软件包一起使用,但对于这一个,它没有-我相信这与文件的扩展名有关,pyxdameraulevenshtein模块有一个.pyx扩展名和相应的.c文件,而典型的模块有一个.py扩展名。我不确定是否可以在Azure ML中导入.pyx扩展?好的,非常感谢您的解释。我现在正在尝试,并会让你知道它是如何进行的。好的,非常感谢@PeterSmith,它起作用了!事实上,我使用了一种稍微不同的方法:从包位置运行“python setup.py bdist”并获得一个.pyd文件。我压缩了这个文件并将其用作脚本包,Azure ML中的Python模块成功运行。你为我节省了很多时间!!再次感谢。。。