为什么Apache服务器在python中抛出雪花摄取模块语法错误

2024-09-29 18:52:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个flask应用程序在Linux box(ec2实例)中的apache服务器上运行,它调用python脚本,将文件从s3移动到snowflake。如果直接执行该脚本,则效果良好。当试图使用virtualhost和mod_wsgi在apache上托管snowflake的ingest python模块时,它抛出以下错误。该模块安装在默认站点包中

Apache服务器版本:2.4.41

Python版本:3.7

雪花:雪花_连接器_python-2.1.3-py3.7-nspkg.pth

操作系统:亚马逊linux 2

下面是我尝试重新启动时的apache错误日志:

[Fri Jan 10 15:47:53.703083 2020][:error][pid 19755][remote 67.79.202.36:20]mod_wsgi(pid=19755):无法将目标wsgi脚本'/var/www/FLASKAPPS/snowflakeingestapp/snowflakeingestapp.wsgi'作为Python模块加载

[Fri Jan 10 15:47:53.703113 2020][:error][pid 19755][remote 67.79.202.36:20]mod_wsgi(pid=19755):处理wsgi脚本'/var/www/FLASKAPPS/snowflakeingestapp/snowflakeingestapp.wsgi'时发生异常

[Fri Jan 10 15:47:53.703129 2020][:error][pid 19755][remote 67.79.202.36:20]回溯(最近一次呼叫最后一次):

[Fri Jan 10 15:47:53.703142 2020][:error][pid 19755][remote 67.79.202.36:20]文件“/var/www/FLASKAPPS/snowflakeingestapp/snowflakeingestapp.wsgi”,第4行,在

[Fri Jan 10 15:47:53.703176 2020][:error][pid 19755][remote 67.79.202.36:20]来自snowflakeingestapp作为应用程序导入应用程序

[Fri Jan 10 15:47:53.703181 2020][:error][pid 19755][remote 67.79.202.36:20]文件“/var/www/FLASKAPPS/snowflakeingestapp/init.py”,第6行,in

[Fri Jan 10 15:47:53.703206 2020][:错误][pid 19755][remote 67.79.202.36:20]导入雪花摄入

[Fri Jan 10 15:47:53.703210 2020][:error][pid 19755][remote 67.79.202.36:20]文件“/var/www/FLASKAPPS/snowflake Ingestapp/snowflake_ingest/init.py”,第1行,in

[Fri Jan 10 15:47:53.703225 2020][:error][pid 19755][remote 67.79.202.36:20]导入摄取\u ecomm\u json\u雪管

[Fri Jan 10 15:47:53.703230 2020][:error][pid 19755][remote 67.79.202.36:20]文件“/var/www/FLASKAPPS/snowflake Ingestapp/snowflake_ingest/ingest_ecomm_json_snowpipe.py”,第20行,in

[Fri Jan 10 15:47:53.703296 2020][:错误][pid 19755][remote 67.79.202.36:20]来自snowflake.ingest导入SimpleIngestManager

[Fri Jan 10 15:47:53.703300 2020][:error][pid 19755][remote 67.79.202.36:20]文件“/usr/local/lib/python3.7/site packages/snowflake/inset/init.py”,第1行,in

[Fri Jan 10 15:47:53.703315 2020][:error][pid 19755][remote 67.79.202.36:20]from.simple_ingest_manager导入SimpleIngestManager,StagedFile

[Fri Jan 10 15:47:53.703342 2020][:error][pid 19755][remote 67.79.202.36:20]文件“/usr/local/lib/python3.7/site packages/snowflake/inset/simple\u inset\u manager.py”,第65行

[Fri Jan 10 15:47:53.703345 2020][:error][pid 19755][remote 67.79.202.36:20]definit(self,account:Text,user:Text,pipe:Text,private_key:Text

[1月10日星期五15:47:53.703347 2020][:错误][pid 19755][远程67.79.202.36:20]

[Fri Jan 10 15:47:53.703350 2020][:错误][pid 19755][remote 67.79.202.36:20]语法错误:无效语法


Tags: 文件pywsgiremotevarwww错误error
1条回答
网友
1楼 · 发布于 2024-09-29 18:52:16

当您从mod_wsgi执行此命令时,您使用的是Python 2而不是Python 3。您看到的错误消息是因为Snowflake的简单摄取管理器使用类型提示(通过typing模块),这在Python 2中是不可用的

下面是一个简单的片段,它在Python 2中失败并出现相同的错误,但在Python 3中成功:

from typing import Text
def foo(bar: Text):
    print(bar)
foo('huh') 

相关问题 更多 >

    热门问题