Repository: wagtail/wagtail

Issue:
Error in Setting up the Wagtail codebase
### Issue Summary

While setting up a local copy of the Wagtail git repository, running the command `$ pip install -e .[testing,docs] -U` generates the following error: - 
```
ERROR: Cannot install myst_parser and wagtail because these package versions have conflicting dependencies.

The conflict is caused by:
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 2.0.1 depends on attrs<22 and >=19
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 2.0.0 depends on attrs<22 and >=19
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 1.1.0 depends on attrs<22 and >=19
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 1.0.0 depends on attrs<21 and >=19

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
```


### Steps to Reproduce

1. Clone a copy of the Wagtail codebase using the following commands: - 
```
$ git clone https://github.com/wagtail/wagtail.git
$ cd wagtail
```
2. With your preferred virtualenv activated, install the Wagtail package in development mode with the included testing and documentation dependencies:
`$ pip install -e .[testing,docs] -U`

3. The error will pop up. 

There is something wrong with documentation dependencies.  
`$ pip install -e .[testing] -U` works absolutely fine. 

* I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: Yes

### Technical details

* Python version: 3.10
* Django version: 4.0.3
* Wagtail version: 2.17a0
* Operating System: Windows/ Mac



Discussion:
I'm guessing this was triggered by #8084... ping @lb- @thibaudcolas 
I have been able to reproduce this issue.

It looks like `jinjalint` has not been [updated since 2018](https://pypi.org/project/jinjalint/#history), so I cannot see an easy way to just update jinjalint.

I might have to take another look at this later.

```
ERROR: Cannot install markdown-it-py==1.1.0, myst_parser and wagtail because these package versions have conflicting dependencies.

The conflict is caused by:
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 1.1.0 depends on attrs<22 and >=19
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 2.0.1 depends on attrs<22 and >=19
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 2.0.0 depends on attrs<22 and >=19
    jinjalint 0.5 depends on attrs==17.2.0
    markdown-it-py 1.0.0 depends on attrs<21 and >=19

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
```
I have not tested it but curlylint says it supports jinja templates https://pypi.org/project/curlylint/ (it is a fork of jinjalint).

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -63,11 +63,9 @@
     "doc8==0.8.1",
     "flake8-assertive==2.0.0",
     # For templates linting
-    "jinjalint>=0.5",
+    "curlylint==0.13.0",
     # For template indenting
     "djhtml==1.4.13",
-    # Pipenv hack to fix broken dependency causing CircleCI failures
-    "docutils==0.15",
     # for validating string formats in .po translation files
     "polib>=1.1,<2.0",
 ]


Test patch: