diff --git a/docs/getting-started.rst b/docs/getting-started.rst
index 16f064449be7d551ef26758dcb35f57b4e6653e7..bbfe6b0563043bb05b9370d7b840e0cee816be6f 100644
--- a/docs/getting-started.rst
+++ b/docs/getting-started.rst
@@ -27,7 +27,7 @@ need the `mr <http://myrepos.branchable.com/>`_ tool. Once you have installed
 
   cd swh-environment
   bin/update
-  
+
 .. IMPORTANT::
 
    From now on this tutorial will assume that you **run commands listed below
@@ -35,57 +35,32 @@ need the `mr <http://myrepos.branchable.com/>`_ tool. Once you have installed
 
 For periodic repository updates just re-run ``bin/update``.
 
-From now on you will need to have a ``PYTHONPATH`` environment variable that
-allows to find Python modules in the ``swh`` namespace. To that end you can
-source the ``pythonpath.sh`` snippet from swh-environment::
-
-  source pythonpath.sh
-
-To make setting ``PYTHONPATH`` easier in the future, you might want to define a
-shell alias, e.g.::
-
-  alias swh-pythonpath='cd /path/to/swh-environment/ ; source pythonpath.sh ; cd - > /dev/null'
 
+Step 1 --- install base dependencies
+------------------------------------
 
-Step 1 --- install dependencies
--------------------------------
-
-You need to install three types of dependencies: Python modules, Node.js
+You need to install three types of dependencies: some base packages, Node.js
 modules (for the web app), and Postgres (as storage backend).
 
+Package dependencies
+~~~~~~~~~~~~~~~~~~~~
 
-Python modules
-~~~~~~~~~~~~~~
-
-You can install Python modules using ``pip3`` via the following helper::
-
-  sudo bin/pip-install-deps
-
-``pip-install-deps`` accepts additional ``pip3 install`` options so, e.g., if
-you want to install Python modules as a user rather than system wide you can do
-something like this instead::
-
-  bin/pip-install-deps --user
-
-If you want to see the list of Python dependencies, e.g., to install them by
-hand or via your package manager, you can use a related helpe::
-
-  bin/pip-ls-deps
+Software Heritage requires some dependencies that are usually packaged by your
+package manager. On Debian/Ubuntu-based distributions::
 
+  sudo apt install python3 libsvn-dev postgresql nodejs npm
 
 Postgres
 ~~~~~~~~
 
 You need a running Postgres instance with administrator access (e.g., to create
-databases). On Debian/Ubuntu based distributions it should be as easy as::
-
-  sudo apt install postgresql
+databases). On Debian/Ubuntu based distributions, the previous step
+(installation) should be enough.
 
 For other platforms and more details refer to the `PostgreSQL installation
-documnetation
+documentation
 <https://www.postgresql.org/docs/current/static/tutorial-install.html>`_.
 
-
 Node.js modules
 ~~~~~~~~~~~~~~~
 
@@ -93,7 +68,6 @@ If you want to run the web app to browser your local archive you will need some
 Node.js modules, in particular to pack web resources into a single compact
 file. To that end the following should suffice::
 
-  sudo apt install nodejs npm
   cd swh-web
   npm install
   cd -
@@ -102,7 +76,30 @@ You are now good to go with all needed dependencies on your development
 machine!
 
 
-Step 2 --- set up storage
+Step 2 --- install SWH in a virtualenv
+--------------------------------------
+
+From now on you will need to work in a `virtualenv
+<https://docs.python.org/3/library/venv.html>`_ containing the Python
+environment with all the Software Heritage modules and dependencies. To that
+end you can do (once)::
+
+  python3 -m venv .venv
+
+Then, activate the virtualenv (do this every time you start working on Software
+Heritage)::
+
+  source .venv/bin/activate
+
+Python modules
+~~~~~~~~~~~~~~
+
+You can install the SWH Python modules and their dependencies using::
+
+  pip install $( bin/pip-swh-packages )
+
+
+Step 3 --- set up storage
 -------------------------
 
 Then you will need a local storage service that will archive and serve source
@@ -165,7 +162,7 @@ You can now run the storage server like this::
   python3 -m swh.storage.api.server --host localhost --port 5002 ~/.config/swh/storage/storage.yml
 
 
-Step 3 --- ingest repositories
+Step 4 --- ingest repositories
 ------------------------------
 
 You are now ready to ingest your first repository into your local Software
@@ -207,7 +204,7 @@ only *new* objects added since the previous visit will be archived upon the
 next one.
 
 
-Step 4 --- browse the archive
+Step 5 --- browse the archive
 -----------------------------
 
 You can now setup a local web app to browse what you have locally archived. The