为什么Google Cloud Function上的Python 3.7运行时不再允许slackclient?

mra*_*rag 1 python-3.x google-cloud-platform slack-api google-cloud-functions

我正在尝试部署Python 3.7运行时Google Cloud Function以通过Slack API发送消息。但是,我一直收到相同的错误:“ ModuleNotFoundError:没有名为'slackclient'的模块”。该功能在6个月前运行良好。为了进行测试,我创建了一个测试函数,该函数仅导入slackclient软件包并在执行此操作时打印“成功”。但是,这导致相同的错误消息。

请在下面找到:错误信息和截图的复制main.pyrequirements.txt。有任何想法吗?

Deployment failure:
Function failed on loading user code. Error message: Code in file main.py can't be loaded.
Did you list all required modules in requirements.txt?
Detailed stack trace: Traceback (most recent call last):
  File "/env/local/lib/python3.7/site-packages/google/cloud/functions/worker.py", line 305, in 
check_or_load_user_function
    _function_handler.load_user_function()
  File "/env/local/lib/python3.7/site-packages/google/cloud/functions/worker.py", line 184, in 
load_user_function
   spec.loader.exec_module(main)
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/user_code/main.py", line 3, in <module>
    import slackclient
ModuleNotFoundError: No module named 'slackclient'
Run Code Online (Sandbox Code Playgroud)

屏幕截图 main.py

屏幕截图 requirements.txt

PyP*_*ngu 5

所以我猜您以前有v1的slackclient库。根据向v2文档和常规文档迁移,您现在需要:

import slack

import slackclient

或者你可以尝试增加slackclient<2requirements.txt使其使用V1。但实际上我会努力保持最新状态。