运行AWS Glue作业时出现“ ImportError:没有名为pyRserve的模块”

Mattalxndr

当我运行Glue作业以尝试导入pyRserve python模块(纯Python)时,出现此错误:

LogType:stdout
Log Upload Time:Sun Jan 21 12:27:32 +0000 2018
LogLength:206
Log Contents:
Traceback (most recent call last):
File "script_2018-01-21-12-27-05.py", line 8, in <module>
import pyRserve
ImportError: No module named pyRserve
End of LogType:stdout

以下是有关我的工作的详细信息:

$ aws glue get-job --job-name test_trunc
{
    "Job": {
        "Name": "test_trunc",
        "Role": "arn:aws:iam::#CLIPPED#:role/AWSGlueServiceRoleDefault",
        "CreatedOn": 1516192543.117,
        "LastModifiedOn": 1516537317.889,
        "ExecutionProperty": {
            "MaxConcurrentRuns": 1
        },
        "Command": {
            "Name": "glueetl",
            "ScriptLocation": "s3://#CLIPPED#/gluescripts/test_trunc"
        },
        "DefaultArguments": {
            "--TempDir": "s3://#CLIPPED#/jobs/test_trunc/scripts",
            "--extra-py-files": "s3://#CLIPPED#/jobs/test_trunc/python-libs/pyRserve.zip",
            "--job-bookmark-option": "job-bookmark-disable",
            "--job-language": "python"
        },
        "Connections": {
            "Connections": [
                "redshift"
            ]
        },
        "MaxRetries": 0,
        "AllocatedCapacity": 10
    }
}

这是我正在运行的脚本:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
import pprint
import pyRserve

这是完整的日志:

https://gist.github.com/mattazend/b611d0232d94ade4bc4c16bcb79f73a8

根据AWS Glue文档:

只能使用纯Python库。尚不支持依赖C扩展的库,例如pandas Python数据分析库。

我认为即使我们将python库作为zip文件上传,如果您使用的库具有C扩展的依赖项,也无法正常工作。我曾尝试以与您尝试过的相同方式使用Pandas,Holidays等,并在联系AWS Support时提到他们在待办事项列表中(对这些python库的支持),但到目前为止没有ETA。

@Ishwr:根据此链接https://pypi.python.org/pypi/pyRserve/0.9.1,pyRserve需要Numpy软件包作为安装的先决条件,如果在已安装的库列表中未找到numpy,则pyRserve首先安装numpy,然后再进行pyRserve。

由于Glue不支持numpy,因此我相信,由于这个原因,pyRserve要么没有从zip文件安装,要么没有被识别/考虑用于该工作,因此没有ImportError。

pyRserve由Ralph Heinkel(www.ralph-heinkel.com)编写,并根据MIT许可发布。

快速安装确保已安装Numpy(1.4.x版或更高版本)。

然后从您的unix / windows命令行运行:

pip pyRserve要手动安装,请下载tar.gz或zip软件包。解压缩后,将cd放入pyRserve目录,然后从命令行运行python setup.py install。

其实pip pyRserve应该安装numpy(如果缺少)。

希望是正确的。

谢谢。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

google-app-engine无法运行Cron作业,并出现ImportError:没有名为gcloud的模块

运行fastStructure时出错:ImportError:没有名为allelefreq的模块

ImportError:在Python 3 Ubuntu中运行测试时,没有名为“ pysqlite2”的模块

python脚本ImportError:在Automator中运行shell脚本时没有名为'webbot'的模块

当我运行./manage.py运行服务器时,出现错误ImportError:没有名为celery的模块

尝试在OS X上运行利用Scapy的脚本时出现“ ImportError:没有名为dumbnet的模块”

从Python运行QGIS时没有名为sip的模块

运行uWSGI时没有名为flask的模块

运行tox时“没有名为pip的模块”

运行Neo4j Python Bolt驱动程序示例时,错误:“ ImportError:没有名为'_backend'的模块”

ImportError:当我使用系统来运行服务时,没有名为“日程表”的模块

导入错误:运行 Dataflow 作业时没有名为 language_v1.gapic 的模块

letsencrypt失败,出现ImportError:没有名为接口的模块

从mgltools运行PMV时出现“导入错误:没有名为oldnumeric的模块”

ImportError:安装setuptools时没有名为“ _struct”的模块

AWS Lambda 返回无法导入模块“main”:存在模块时没有名为“main”的模块

使用Python运行Matlab会出现“没有名为matlab.engine的模块”错误

ModuleNotFoundError:运行celery worker时没有名为“ social.models”的模块

ModuleNotFoundError:在虚拟环境中运行服务器时,没有名为“ django”的模块

运行keras-text-summarization时没有名为“ keras_text_summarization”的模块

在 Azure Function App 中运行 python 脚本时没有名为“请求”的模块出错

运行django-admin startproject myproject时没有名为django.core的模块

在Sublime Text CLI中运行python时没有名为'statsmodels'的模块

没有名为ho.pisa的模块-当我使用wsgi运行它时

导入错误:在运行 collectstatic 时没有名为 rest_framework 的模块

安装运行kivy desginer时显示错误没有名为“ kivy.adapters”的模块

ModuleNotFoundError:没有名为“ Src”的模块-当我运行Pytest时

在EMR中运行Jupyter笔记本时,没有名为“ pyspark”的模块

ModuleNotFoundError:运行docker映像时,没有名为“ turbodbc”的模块