IBM 云功能 - "Invalid virtualenv. Zip file does not include activate_this.py"

IBM Cloud Functions - "Invalid virtualenv. Zip file does not include activate_this.py"

我想将具有虚拟环境的 python 脚本(我需要一个不在 IBM Cloud Functions 提供的运行时中的库)部署到 IBM Cloud Functions。我想用简单的压缩来做到这一点 我遵循了文档:在下面的 link 中 Packaging Python code with a local virtual environment in a compressed filehttps://cloud.ibm.com/docs/openwhisk?topic=openwhisk-prep

我安装了 python 3.7,virtualenv 也使用它。 virtualenv 根据需要命名为“virtualenv”,但是当我尝试调用该操作时仍然收到错误消息: 结果:

{
  "error": "The action failed to generate or locate a binary. See logs for details."
}
Logs:
[
  "2021-05-20T09:27:03.627094Z    stderr: Invalid virtualenv. Zip file does not include activate_this.py",
  "2021-05-20T09:27:03.627Z       stderr: The action did not initialize or run as expected. Log data might be missing."
]

我检查了 virtualenv 目录,在 Scripts 文件夹中有“activate_this.py”。

我错过了什么?我采取的步骤和文档之间的唯一区别是我有一台 windows 计算机,所以环境的激活就像 virtualenv\Scripts\activate,而不是通过 bin,我压缩了脚本和 virtualenv 通过windows 界面。

Cloud Functions 是否有可能尝试在“bin”文件夹而不是“脚本”文件夹中查找文件?如果可以,我该怎么办?

谢谢

如您所述,这是处理 windows 打包的 venv 时的错误。它已在此分支中得到修复 https://github.com/nimbella-corp/openwhisk-runtime-python/commit/2eb3422cb2dca291cff47ed3239de8512170a1be 您可以应用并构建自己的容器映像作为解决方法。