gpt4 book ai didi

用于 piglatin 脚本的 Python UDF 找不到 re 模块

转载 作者:行者123 更新时间:2023-11-28 17:50:49 33 4
gpt4 key购买 nike

我在为我正在使用的 piglatin 脚本创建 UDF 时遇到问题。我的问题是,当我使用 pig script.pig 运行脚本时我收到以下错误:

[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1121: Python Error. Traceback (most recent call last):
File "utils.py", line 3, in <module>
import re
ImportError: No module named re

在我的“utils.py”脚本中,我像这样导入模块:import re

为什么找不到 re模块以及如何修复它?

编辑我应该注意,如果我直接使用 python 运行 python 脚本命令,我没有收到错误消息说它找不到 re模块。

编辑2

好的,根据评论,我安装了 jython(我的系统上没有安装它),这里是 print sys.path 的输出对于我的脚本:

使用 python

['/home/hduser/bqmScripts/betsScripts', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages']

使用 Jython

['', '/usr/share/jython/Lib', '/usr/lib/site-python', '__classpath__']

使用 pig

['/pig/lib/Lib', '__classpath__', '__pyclasspath__/']

看到这个之后,我尝试将jython中缺少的路径元素添加到pig版本中,现在得到的是:

 File "utils.py", line 8, in <module>
import re
File "/usr/share/jython/Lib/re.py", line 7, in <module>
import sre, sys
File "/usr/share/jython/Lib/sre.py", line 97, in <module>
import sre_compile
File "/usr/share/jython/Lib/sre_compile.py", line 17, in <module>
assert _sre.MAGIC == MAGIC, "SRE module mismatch"
AssertionError: SRE module mismatch

已解决

为了解决我最新的错误消息,我查找了我的 pig 安装所使用的 jython 版本 (2.5) 并手动安装了那个版本。这解决了问题。

最佳答案

re 是 stdlib 的一部分,因此您的 Python 安装已损坏或不完整,或者某些东西损坏了 sys.path 的内容。

关于用于 piglatin 脚本的 Python UDF 找不到 re 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233270/

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