diff options
author | David Robertson <davidr@element.io> | 2022-04-20 15:18:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-20 15:18:21 +0100 |
commit | ecef741add0adfdd59f960e8b46503a5604303bd (patch) | |
tree | da1b6498189c205c12e0948ffdb889baa0016e0b /README.rst | |
parent | Remove unnecessary config overrides for MSC3666. (#12511) (diff) | |
download | synapse-ecef741add0adfdd59f960e8b46503a5604303bd.tar.xz |
Recommend poetry in docs (#12475)
* Recommend poetry in docs - readme - contributor guide - upgrade notes - new dev cheat sheet for poetry Co-authored-by: Shay <hillerys@element.io> Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 31 |
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):: |