summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--INSTALL.md2
-rw-r--r--changelog.d/8212.bugfix1
-rw-r--r--synapse/python_dependencies.py4
3 files changed, 6 insertions, 1 deletions
diff --git a/INSTALL.md b/INSTALL.md
index 22f7b7c029..bdb7769fe9 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -73,7 +73,7 @@ mkdir -p ~/synapse
 virtualenv -p python3 ~/synapse/env
 source ~/synapse/env/bin/activate
 pip install --upgrade pip
-pip install --upgrade setuptools
+pip install --upgrade setuptools!=50.0  # setuptools==50.0 fails on some older Python versions
 pip install matrix-synapse
 ```
 
diff --git a/changelog.d/8212.bugfix b/changelog.d/8212.bugfix
new file mode 100644
index 0000000000..0f8c0aed92
--- /dev/null
+++ b/changelog.d/8212.bugfix
@@ -0,0 +1 @@
+Do not install setuptools 50.0. It can lead to a broken configuration on some older Python versions.
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index 2d995ec456..d666f22674 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -74,6 +74,10 @@ REQUIREMENTS = [
     "Jinja2>=2.9",
     "bleach>=1.4.3",
     "typing-extensions>=3.7.4",
+    # setuptools is required by a variety of dependencies, unfortunately version
+    # 50.0 is incompatible with older Python versions, see
+    # https://github.com/pypa/setuptools/issues/2352
+    "setuptools!=50.0",
 ]
 
 CONDITIONAL_REQUIREMENTS = {