在 MaxCompute UDF 中运行 Scipy

本文档介绍了如何在MaxCompute环境中配置Python UDF,并详细解释了如何下载、选择合适的Scipy包,以及如何将其作为资源添加到MaxCompute中。此外,还提供了从非Whl包生成Whl包的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新版 MaxCompute Isolation Session 支持 Python UDF。也就是说,Python UDF 中已经可以跑二进制包。刚才以 Scipy 为例踩了一下坑,把相关的过程分享出来。

下载 Scipy 包并上传资源

首先,从 PyPI 或其他镜像下载 Scipy 包。你需要下载后缀为“cp27-cp27m-manylinux1_x86_64.whl”的包,其他的包会无法加载,包括名为“cp27-cp27mu”的包。以下的截图来自 https://pypi.python.org/pypi/scipy ,仅有打勾的包可以直接使用:

image

下载 whl 后,将文件名更改为 scipy.zip。此后,在 MaxCompute Console 中执行

add archive scipy.zip;

此后,scipy.zip 即被创建为 MaxCompute Archive 资源。不建议使用其他类型的资源,因为在执行时,MaxCompute 会自动解压 Archive 类型的资源,从而省去手动解压的步骤。

从非 Whl 包生成 Whl 包

如果列出的包中包含 Whl,则可以直接上传并跳过此步骤。如果列出的包不包含 whl(如手中仅有图中的 scipy-0.19.0.zip),需要在 Linux 环境中手动编译并打包为 whl。打包前,需要确保下列命令返回“cp27m”而不是“cp27mu”:

python -c "import pip; print pip.pep425tags.get_abi_tag()"

如果返回值为“cp27mu”,你需要使用 “--enable-unicode=no" 选项编译一个可用的 Python 2.7,再使用编译得到的 Python。如果返回值正确,通常可以在该环境下使用

python setup.py bdist_wheel

完成,具体请参考各个包的编译/安装说明。

打包完成后,将生成的 whl 包上传。

转载于:https://my.oschina.net/u/3611008/blog/1930786

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值