Question

How to install Python requirements with serverless function?

Is it possible to install Python requirements with a serverless function? Or can we only just built in libraries?

I’m trying to import Selenium.


Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
August 4, 2022

Hi there,

I’ve not tested this with selenium specifically, but you can install your Python requirements using the following approach:

Create a build.sh file with the following content inside your functions dir:

#!/bin/bash

set -e

virtualenv virtualenv
source virtualenv/bin/activate
pip install -r requirements.txt
deactivate

You can take a look at the following repo as an example:

https://github.com/digitalocean/sample-functions-python-sendgrid-email/tree/main/packages/sample/emails

EDIT: As @danmvi mentioned the file needs to be executable:

git update-index --add --chmod=+x build.sh
git commit -m 'Make build.sh executable'

Hope that this helps!

Best,

Bobby

Hi, @bobbyiliev answer is correct, but only if build.sh permissions are changed in your local machine prior to the deploy, if not the deploy will fail as the file cannot be executed by the function runtime.

git update-index --add --chmod=+x build.sh
git commit -m 'Make build.sh executable'

Hope this helps!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up