我在AWS Lambda函数上导入Stackdriver日志记录python库,如下所示:
Error processing line 10 of /var/task/gapic_google_cloud_logging_v2-0.91.3-py3.6-nspkg.pth:
23:59:18
Traceback (most recent call last):
23:59:18
File "/var/lang/lib/python3.6/site.py", line 168, in addpackage
23:59:18
exec(line)
23:59:18
File "<string>", line 1, in <module>
23:59:18
File "<frozen importlib._bootstrap>", line 557, in module_from_spec
23:59:18
AttributeError: 'NoneType' object has no attribute 'loader'
23:59:18
Remainder of file ignored
23:59:18
Error processing line 10 of /var/task/proto_google_cloud_logging_v2-0.91.3-py3.6-nspkg.pth:
23:59:18
Traceback (most recent call last):
23:59:18
File "/var/lang/lib/python3.6/site.py", line 168, in addpackage
23:59:18
exec(line)
23:59:18
File "<string>", line 1, in <module>
23:59:18
File "<frozen importlib._bootstrap>", line 557, in module_from_spec
23:59:18
AttributeError: 'NoneType' object has no attribute 'loader'
23:59:18
Remainder of file ignored
我看到了这个错误,但它似乎不是来自我的代码的任何特定行,而是来自库本身?
{{1}}
答案 0 :(得分:0)
我遇到了与Google Cloud PubSub模块类似的问题。我通过移动引发错误的.pth文件来解决它。尝试运行命令:
mv /var/task/proto_google_cloud_logging_v2-0.91.3-py3.6-nspkg.{pth,IGNORE}
这些* .pth文件在Python启动时运行。如果您实际打开.pth文件并进行检查,它的作用是抓取有关系统上可用的Google Cloud API包和版本的信息,并为Google Cloud API的每个子模块设置属性(对应于不同的云)服务)。
我不知道是什么导致它破坏,但在我的情况下,我有三个不同的版本(前缀为proto_
,google_cloud_
和gapic_
),每个版本都有10-与各种服务(BigQuery,PubSub,Datastore等)相关的20 * .pth文件,其中只有一个(与PubSub相关的文件)导致了问题。当我重命名它时,错误消息消失了,我仍然能够通过Python API导入和使用PubSub。