Setting up a Python development environment (original) (raw)
This tutorial shows how to prepare your local machine forPythondevelopment, including developing Python apps that run on Google Cloud.
If you already have a development environment set up, seePython and Google Cloudto get an overview of how to run Python apps on Google Cloud.
Objectives
- Install a supported version of Pythoncompatible with Google Cloud.
- Use
venv
to isolate dependencies. - Install an editor (optional).
- Install the Google Cloud CLI (optional).
- Install the Cloud Client Libraries for Python (optional).
- Install other useful tools.
- Set up authentication (optional).
Installing Python
Python's installation instructions vary by operating system. Follow the guide for the operating system you're running in your development environment, macOS, Windows, or Linux.
macOS
macOS includes a version of Python by default and uses it for its own purposes. To avoid interfering with macOS, we recommend creating a separate development environment and installing asupported version of Pythonfor Google Cloud. To install Python, usehomebrew.
- To use homebrew to install Python packages, you need a compiler, which you can get by installingXcode's command-line tools.
xcode-select --install
- Install homebrew by following the instructions on thehomebrew homepage, and then use homebrew to install Python as follows:
brew install pyenv
pyenv install PYTHON_VERSION
Python version number should be in the format of x.y
. For example:
pyenv install 3.12
- After the installations are complete, verify that Python 3 is available as
python
andpython3
, and thatpip
is also installed.
To verify that Python is available, run the following command:
python3 --version
The output shows the version. You can learn about Python homebrew on theHomebrew Python Formulaepage, and then check your version.
To verify that pip3
is available, run the following command:
pip3 --version
If installed, the output shows the pip3
version. For more about the latest version of pip3
, see thepip Release Notes.
If the preceding command does not show the pip3
version, make sure thatpip3
is installed correctly. If pip3
is installed but not working, upgrade to the latest version using the following command:
python -m pip install --upgrade pip
Homebrew installs the latest versions of Python available on your platform. The version numbers in the outputs might be different fromthe latest official releases of Python.
Windows
- To install Python in a Windows environment, download the installer for the version of Python you need from thePython website. For more information, see the supported versions of Pythonfor Google Cloud.
- To access your version of Python, usePython launcher for Windows.
To start the version of Python you installed, run the following command:
py
To start the version of Python 3 you installed, run the following command:
py -3
To verify the version of pip
that is available, run the following command:
py -m pip --version
The output shows the version fromC:\users\[USERNAME]\appdata\local\programs\python\python38-32\lib\site-packages
.
You can learn about the latest version ofpip
in the pip Release Notes.
Linux
Most Linux distributions include recent versions of Python.
- To install Python in a Linux environment, install the appropriate packages for your distribution. For Debian and Ubuntu, these packages arepython3,python3-dev,python3-venv, andpython3-pip,
Install these packages using the following commands:
sudo apt update
sudo apt install python3 python3-dev python3-venv python3-pip
- After the installations are complete, verify that you have
pip
installed:
pip3 --version
You can learn about the latest version ofpip
in the pip Release Notes.
Using venv to isolate dependencies
venvis a tool that creates isolated Python environments. These isolated environments can have separate versions of Python packages, which lets you isolate one project's dependencies from the dependencies of other projects. We recommend that you always use a per-project virtual environment when developing locally with Python.
- Use the
venv
command to create a virtual copy of the entire Python installation. This tutorial creates a virtual copy in a folder namedenv
, but you can specify any name for the folder.
macOS
cd your-project
python -m venv env
Windows
cd your-project
py -m venv env
Linux
cd your-project
python3 -m venv env
- Set your shell to use the
venv
paths for Python by activating the virtual environment:
macOS
source env/bin/activate
Windows
.\env\Scripts\activate
Linux
source env/bin/activate
- Now you can install packages without affecting other projects or your global Python installation:
pip install google-cloud-storage
If you want to stop using the virtual environment and go back to your global Python, you can deactivate it:
deactivate
You can read more about venv
in thevenv docs.
Installing an editor
To develop Python apps, you need an editor. Here are a few of the more popular editors (in no particular order):
- Visual Studio Codeby Microsoft
- Sublime Textby Jon Skinner
- PyCharmby JetBrains
Installing the Cloud Client Libraries for Python
The Cloud Client Libraries for Python is how Python developers integrate with Google Cloud services like Datastore and Cloud Storage. To install the package for an individual API like Cloud Storage, use a command similar to the following:
pip install --upgrade google-cloud-storage
Installing the gcloud CLI
The gcloud CLIis a set of command-line tools for Google Cloud. It contains gcloud
andbq
, which you can use to access Compute Engine, Cloud Storage, BigQuery, and other products and services from the command line. You can run these tools interactively or in your automated scripts.
Set up authentication
To use the client library, you must first set up authentication.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
For more information, seeAuthenticate for using client libraries.
What's next
- Learn more about Python on Google Cloud.
- Deploy a Python service to Cloud Run.
- Understand Authentication methods at Google.
- Browse the documentation for Google Cloud products.