I want to deploy a python script with a virtual environment (I need a library which is not in the runtime provided by IBM Cloud Functions) to IBM Cloud Functions. I want to do this with simple zipping so I followed the documentation: Packaging Python code with a local virtual environment in a compressed file in the link below: https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-prep
I have python 3.7 installed and the virtualenv also uses that. The virtualenv is named "virtualenv" as required, however I still receive the error when I try to invoke the action: Results:
{
"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."
]
I checked the virtualenv directory and I have "activate_this.py" in the Scripts folder.
What am I missing? The only difference between the steps I take and the documentation is that I have a windows computer, so the activation of the environment went like virtualenv\Scripts\activate, not through bin, and I zipped the script and the virtualenv via windows GUI.
Is it possible that Cloud Functions tries to find the file in a "bin" folder instead of a "Scripts"? If so, what can I do?
Thanks