How to Set up a Local Python Development Environment
Our quickstarts are designed to get you working with Twilio in record time. We’ve used the same Python ingredients time and time again so you only need to go through environmental setup once.
To complete the Twilio Python quickstarts, you’ll need to have the following tools installed:
- Python
- Flask
- The
twilio-python
library - ngrok or some other way to expose a URL for webhooks
Install Python
If you are on a Mac or Linux machine, you most likely already have Python installed. Windows users can follow this excellent tutorial. There are more advanced configuration instructions at the official Python website.
Install Flask and twilio-python
Flask is a super web server written in Python. We’re going to use it for this tutorial. To install it, we are first going to
install two tools: pip
and virtualenv
.
A brief introduction to Python packages
Many third-party Python libraries, such as the math library numpy
, the MySQL connector library MySQL-python
, and Flash, are made available as “packages”. They are installed using a “package manager”. Most Python developers prefer to use a package manager called pip
, but easy_install
is another.
A brief introduction to Python virtual environments
virtualenv
is a tool that lets you create a special sandbox for each of your Python projects, to ensure that you have exactly the right version of every tool you need for that particular project. Furthermore, virtualenv
makes sure that you don’t accidentally break your app if someone updates your Python packages.
Install virtualenv and pip
We first need to make sure that we install pip
and virtualenv
for the correct version of Python on your computer. Open a terminal and run the following command:
python --version
It should say something like the following:
python --version
Python 3.9.1
Find the instructions below to install virtualenv
for the version of Python reported by your terminal.
Install with Python 2.4
Run the following command:
easy_install virtualenv
Install with Python 2.5-2.7
If your Python version is 2.5, 2.6 or 2.7, run easy_install
with your Python version number, like this:
easy_install-2.7 virtualenv
Replace the version number 2.7 above with 2.5 or 2.6 if you have that version installed.
Install with Python 3.4 or above
pip
is included in Python 3.4+ installations, so just install virtualenv
with:
pip install virtualenv
How to deal with installation errors
If you get any permission denied
errors, try running sudo python
instead of python
.
If you get an easy_install-2.5: command not found
error, you may need to check that Python is installed, or add the folder containing
the easy_install
program to your $PATH
.
If you get an error that looks like this:
Installing pip script to /usr/local/bin
error: /usr/local/bin/pip: Permission denied
Then you need to run the install script as the admin user, like this:
sudo easy_install-2.6 virtualenv
Create and activate your virtual environment
Once you have virtualenv
installed, switch to the directory you’ll use for your tutorial, and create a virtual environment:
cd Documents/my_tutorial_folder
virtualenv --no-site-packages .
Now activate the virtual environment.
source bin/activate
On Windows, use .\bin\activate.bat
.
You will need to activate your environment before every session with your Python server.
You can tell your virtual environment is running because your terminal will have the name of the enclosing folder listed above it:
(quickstart)USER:~ user$
Install the packages we need
Now we’re going to install Flask and the twilio-python
library. Create a file called requirements.txt
and add the following lines to it:
Flask>=0.12
twilio~=6.0.0
Install these packages with pip
:
bin/pip install -r requirements.txt
Start Flask’s web server
Create a file called run.py
and add these lines to it:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(debug=True)
Now run it. In your terminal, type:
python run.py
You should see the output:
* Running on http://127.0.0.1:5000/
Navigate to http://localhost:5000 in a browser. You should see a “Hello World” message.
Where next?
You now have everything you need to start using Twilio and Python! Let’s start coding.
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.