1 files changed, 17 insertions, 14 deletions
diff --git a/README.rst b/README.rst
index 8a14401d65..d71d733679 100644
--- a/README.rst
+++ b/README.rst
@@ -293,24 +293,27 @@ directory of your choice::
git clone https://github.com/matrix-org/synapse.git
cd synapse
-Synapse has a number of external dependencies, that are easiest
-to install using pip and a virtualenv::
+Synapse has a number of external dependencies. We maintain a fixed development
+environment using [poetry](https://python-poetry.org/). First, install poetry. We recommend
- python3 -m venv ./env
- source ./env/bin/activate
- pip install -e ".[all,dev]"
+ pip install --user pipx
+ pipx install poetry
-This will run a process of downloading and installing all the needed
-dependencies into a virtual env. If any dependencies fail to install,
-try installing the failing modules individually::
+as described `here <https://python-poetry.org/docs/#installing-with-pipx>`_.
+(See `poetry's installation docs <https://python-poetry.org/docs/#installation>`
+for other installation methods.) Then ask poetry to create a virtual environment
+from the project and install Synapse's dependencies::
+
+ poetry install --extras "all test"
- pip install -e "module-name"
+This will run a process of downloading and installing all the needed
+dependencies into a virtual env.
We recommend using the demo which starts 3 federated instances running on ports `8080` - `8082`
- ./demo/start.sh
+ poetry run ./demo/start.sh
-(to stop, you can use `./demo/stop.sh`)
+(to stop, you can use `poetry run ./demo/stop.sh`)
See the `demo documentation <https://matrix-org.github.io/synapse/develop/development/demo.html>`_
for more information.
@@ -318,14 +321,14 @@ for more information.
If you just want to start a single instance of the app and run it directly::
# Create the homeserver.yaml config once
- python -m synapse.app.homeserver \
+ poetry run synapse_homeserver \
--server-name my.domain.name \
--config-path homeserver.yaml \
--generate-config \
--report-stats=[yes|no]
# Start the app
- python -m synapse.app.homeserver --config-path homeserver.yaml
+ poetry run synapse_homeserver --config-path homeserver.yaml
Running the unit tests
@@ -334,7 +337,7 @@ Running the unit tests
After getting up and running, you may wish to run Synapse's unit tests to
check that everything is installed correctly::
- trial tests
+ poetry run trial tests
This should end with a 'PASSED' result (note that exact numbers will
differ)::
|