gpt4 book ai didi

python - 如何在配置单元的 python UDF 中使用外部库?

转载 作者:可可西里 更新时间:2023-11-01 15:10:00 25 4
gpt4 key购买 nike

我想使用 Python UDF 转换配置单元表(hdfs spot 实例),为此我需要一个外部库“user-agents”。我不使用外部库的 udf 工作正常。但是当我想使用它时,我却无法正常工作。

我尝试使用下面给出的代码安装库。

import sys
import subprocess
import pip
import os



sys.stdout = open(os.devnull, 'w+')
pip.main(['install', '--user', 'pyyaml'])
pip.main(['install', '--user', 'ua-parser'])
pip.main(['install', '--user', 'user-agents'])
sys.stdout = sys.__stdout__

然后我试了这个

import user_agents

但是 udf 正在崩溃,出现异常“找不到模块”。我还尝试通过代码检查以下路径:

/usr/local/lib/python2.7/site-packages
/usr/local/lib64/python2.7/site-packages

但是那里没有 user_agents 模块。关于如何使事情正常进行的任何帮助?真的很感激。谢谢!

最佳答案

我想出了一个办法。对于那些正在解决同样的 UDF 问题但尚未成功的人,可以尝试此解决方案并检查它是否也适用于他们。

对于外部库,执行以下步骤:

第 1 步:强制 pip 通过代码本身将外部库安装到 UDF 的当前工作目录。

import sys
import os
import pip

sys.stdout = open(os.devnull, 'w+')
pip.main(['install', 'user-agents', '-t', os.getcwd(), '--ignore-installed'])
sys.stdout = sys.__stdout__

第 2 步:更新您的 sys.path

sys.path.append(os.getcwd())

第 3 步:现在导入库 :)

from user_agents import parse 

就是这样。请检查并确认它也适用于您。

关于python - 如何在配置单元的 python UDF 中使用外部库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45386071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com