mar10 / wsgidav

A generic and extendable WebDAV server based on WSGI

Home Page:https://wsgidav.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pip requirements need update

15802221580 opened this issue · comments

Describe the bug
When trying install pip requirement-dev from source code according to development instruction, some components dependency miss match, need update.

To Reproduce
Steps to reproduce the behavior:

  1. Run pip install -r requirements-dev.txt, see error
    ERROR: Invalid requirement: 'cheroot~=8' (from line 5 of requirements-dev.txt)
  2. According the error message, I removed version number of cheroot from requirement-dev, like:
# NOTE: Keep in sync with Pipfile!

-r requirements.txt

cheroot
Paste~=2.0
# Black is beta and therefore requires --pre flag for installation unless we give the exact number
black~=22.1
flake8~=3.8
flake8-bugbear~=20.1
flake8-quotes~=1.0
pytest~=2.7
pytest-cov~=1.8
recommonmark
requests
setuptools~=40.2
sphinx~=4.3
sphinx_rtd_theme~=1.0.0
stressor
tox~=3.13
twine~=1.11
WebTest~=2.0
wheel
  1. Run pip install -r requirements-dev.txt See error:
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/
Collecting defusedxml~=0.5
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting Jinja2~=2.10
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/7e/c2/1eece8c95ddbc9b1aeb64f5783a9e07a286de42191b7204d67b7496ddf35/Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
     |████████████████████████████████| 125 kB 38.5 MB/s
Collecting json5~=0.8.5
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/30/44/062543d4a6718f99d82e5ecf9140dbdee8a03122f2c34fbd0b0609891707/json5-0.8.5-py2.py3-none-any.whl (26 kB)
Collecting python-pam~=1.8
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/2b/a0/2e2dfdbf74170bc3576a11d47bbeee7cfbb083c0a1cbfcf70a533adce62f/python_pam-1.8.4-py2.py3-none-any.whl (5.8 kB)
Collecting PyYAML~=6.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/d7/42/7ad4b6d67a16229496d4f6e74201bdbebcf4bc1e87d5a70c9297d4961bd2/PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (701 kB)
     |████████████████████████████████| 701 kB 30.6 MB/s
Collecting cheroot
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/d3/87/8c5a471a82dfd1c82b4cb6605fcad90e1f0e938b14c0516da3504701a2b4/cheroot-8.6.0-py2.py3-none-any.whl (104 kB)
     |████████████████████████████████| 104 kB 73.7 MB/s
Collecting Paste~=2.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/37/79/d0ca1752e07a5e2a0f72682f640c7d52ed3416d766f17145488af947c3f3/Paste-2.0.3-py34-none-any.whl (625 kB)
     |████████████████████████████████| 625 kB 214 kB/s
Collecting black~=22.1
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/33/bb/8f662d8807eb66ceac021bdf777185c65b843bf1b75af8412e16af4df2ac/black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 49.5 MB/s
Collecting flake8~=3.8
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/fc/80/35a0716e5d5101e643404dabd20f07f5528a21f3ef4032d31a49c913237b/flake8-3.9.2-py2.py3-none-any.whl (73 kB)
     |████████████████████████████████| 73 kB 1.3 MB/s
Collecting flake8-bugbear~=20.1
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/45/75/5a11d2ffa0e6ba92453e9f5ed4f34de454fbb9c2837979f9345f9ac4ae9e/flake8_bugbear-20.11.1-py36.py37.py38-none-any.whl (16 kB)
Collecting flake8-quotes~=1.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/83/ff/0461010959158bb7d197691c696f1a85b20f2d3eea7aa23f73a8d07f30f3/flake8-quotes-1.0.0.tar.gz (10 kB)
Collecting pytest~=2.7
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/24/05/b6eaf80746a2819327207825e3dd207a93d02a9f63e01ce48562c143ed82/pytest-2.9.2-py2.py3-none-any.whl (162 kB)
     |████████████████████████████████| 162 kB 958 kB/s
Collecting pytest-cov~=1.8
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/11/4b/b04646e97f1721878eb21e9f779102d84dd044d324382263b1770a3e4838/pytest-cov-1.8.1.tar.gz (8.6 kB)
Collecting recommonmark
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/c6/77/ed589c75db5d02a77a1d5d2d9abc63f29676467d396c64277f98b50b79c2/recommonmark-0.7.1-py2.py3-none-any.whl (10 kB)
Collecting requests
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl (63 kB)
     |████████████████████████████████| 63 kB 63.2 MB/s
Collecting setuptools~=40.2
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/44/56/75e64a8fbbe9e0bd30cfdd58ca1856bc0dc15a43e41504a58d8373f34213/setuptools-40.9.0-py2.py3-none-any.whl (575 kB)
     |████████████████████████████████| 575 kB 178 kB/s
Collecting sphinx~=4.3
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/91/96/9cbbc7103fb482d5809fe4976ecb9b627058210d02817fcbfeebeaa8f762/Sphinx-4.5.0-py3-none-any.whl (3.1 MB)
     |████████████████████████████████| 3.1 MB 46.5 MB/s
Collecting sphinx_rtd_theme~=1.0.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/e0/d2/3818e4730e314719e27f639c44164419e40eed826d63753dc480262036e8/sphinx_rtd_theme-1.0.0-py2.py3-none-any.whl (2.8 MB)
     |████████████████████████████████| 2.8 MB 42.7 MB/s
Collecting stressor
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/41/12/e28c68ac9a03cc8123bc10c8edd095d24532a53c070d25921cb709a7ce0c/stressor-0.5.1-py3-none-any.whl (456 kB)
     |████████████████████████████████| 456 kB 112.0 MB/s
Collecting tox~=3.13
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/ac/6a/6f97900d7e04c60d4bed183666d10be180c63a6a9b3765b91481da96d2fe/tox-3.25.0-py2.py3-none-any.whl (85 kB)
     |████████████████████████████████| 85 kB 100.4 MB/s
Collecting twine~=1.11
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/23/0e/9e833399b84e9232a7f86a8f4351d6687dbab0b03a2a6e352d431463fa68/twine-1.15.0-py2.py3-none-any.whl (35 kB)
Collecting WebTest~=2.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/fd/8c/3d36c39f458d986ee3aaea7683f186613df1225818dc076e75c5002eca81/WebTest-2.0.35-py2.py3-none-any.whl (32 kB)
Collecting wheel
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting MarkupSafe>=0.23
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/fd/f4/524d2e8f5a3727cf309c2b7df7c732038375322df1376c9e9ef3aa92fcaf/MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Collecting six>=1.11.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting jaraco.functools
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/fb/36/5b86ff4d8013596bd5276f7c1bcf500dc5993a2a9d07d5d3307f5f44e29f/jaraco.functools-3.5.0-py3-none-any.whl (7.0 kB)
Collecting more-itertools>=2.6; python_version >= "3.6"
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/bd/3f/c4b3dbd315e248f84c388bd4a72b131a29f123ecacc37ffb2b3834546e42/more_itertools-8.13.0-py3-none-any.whl (51 kB)
     |████████████████████████████████| 51 kB 24.9 MB/s
Collecting platformdirs>=2
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/ed/22/967181c94c3a4063fe64e15331b4cb366bdd7dfbf46fcb8ad89650026fec/platformdirs-2.5.2-py3-none-any.whl (14 kB)
Collecting typing-extensions>=3.10.0.0; python_version < "3.10"
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/75/e1/932e06004039dd670c9d5e1df0cd606bf46e29a28e65d5bb28e894ea29c9/typing_extensions-4.2.0-py3-none-any.whl (24 kB)
Collecting mypy-extensions>=0.4.3
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/5c/eb/975c7c080f3223a5cdaff09612f3a5221e4ba534f7039db34c35d95fa6a5/mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting tomli>=1.1.0; python_version < "3.11"
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl (12 kB)
Collecting click>=8.0.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl (96 kB)
     |████████████████████████████████| 96 kB 101.7 MB/s
Collecting pathspec>=0.9.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/42/ba/a9d64c7bcbc7e3e8e5f93a52721b377e994c22d16196e2b0f1236774353a/pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
Collecting pyflakes<2.4.0,>=2.3.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/6c/11/2a745612f1d3cbbd9c69ba14b1b43a35a2f5c3c81cd0124508c52c64307f/pyflakes-2.3.1-py2.py3-none-any.whl (68 kB)
     |████████████████████████████████| 68 kB 89.6 MB/s
Collecting pycodestyle<2.8.0,>=2.7.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/de/cc/227251b1471f129bc35e966bb0fceb005969023926d744139642d847b7ae/pycodestyle-2.7.0-py2.py3-none-any.whl (41 kB)
     |████████████████████████████████| 41 kB 23.7 MB/s
Collecting mccabe<0.7.0,>=0.6.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Collecting attrs>=19.2.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/be/be/7abce643bfdf8ca01c48afa2ddf8308c2308b0c3b239a44e57d020afa0ef/attrs-21.4.0-py2.py3-none-any.whl (60 kB)
     |████████████████████████████████| 60 kB 99.4 MB/s
Collecting py>=1.4.29
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl (98 kB)
     |████████████████████████████████| 98 kB 60.4 MB/s
Collecting cov-core>=1.14.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz (5.9 kB)
Collecting coverage<4.0a1,>=3.7.1
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz (284 kB)
     |████████████████████████████████| 284 kB 565 kB/s
Collecting commonmark>=0.8.1
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/b1/92/dfd892312d822f36c55366118b95d914e5f16de11044a27cf10a7d71bbbf/commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
     |████████████████████████████████| 51 kB 88.8 MB/s
Collecting docutils>=0.11
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/8d/14/69b4bad34e3f250afe29a854da03acb6747711f3df06c359fa053fae4e76/docutils-0.18.1-py2.py3-none-any.whl (570 kB)
     |████████████████████████████████| 570 kB 88.8 MB/s
Collecting charset-normalizer~=2.0.0; python_version >= "3"
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/06/b3/24afc8868eba069a7f03650ac750a778862dc34941a4bebeb58706715726/charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting urllib3<1.27,>=1.21.1
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/ec/03/062e6444ce4baf1eac17a6a0ebfe36bb1ad05e1df0e20b110de59c278498/urllib3-1.26.9-py2.py3-none-any.whl (138 kB)
     |████████████████████████████████| 138 kB 124.0 MB/s
Collecting idna<4,>=2.5; python_version >= "3"
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/04/a2/d918dcd22354d8958fe113e1a3630137e0fc8b44859ade3063982eacd2a4/idna-3.3-py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 106.4 MB/s
Collecting certifi>=2017.4.17
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/11/dd/e015f3780f42dd9af62cf0107b44ea1298926627ecd70c17b0e484e95bcd/certifi-2022.5.18.1-py3-none-any.whl (155 kB)
     |████████████████████████████████| 155 kB 123.0 MB/s
Collecting importlib-metadata>=4.4; python_version < "3.10"
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/ab/b5/1bd220dd470b0b912fc31499e0d9c652007a60caf137995867ccc4b98cb6/importlib_metadata-4.11.4-py3-none-any.whl (18 kB)
Collecting sphinxcontrib-applehelp
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/dc/47/86022665a9433d89a66f5911b558ddff69861766807ba685de2e324bd6ed/sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl (121 kB)
     |████████████████████████████████| 121 kB 125.9 MB/s
Collecting packaging
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl (40 kB)
     |████████████████████████████████| 40 kB 90.6 MB/s
Collecting sphinxcontrib-qthelp
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/2b/14/05f9206cf4e9cfca1afb5fd224c7cd434dcc3a433d6d9e4e0264d29c6cdb/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 110.8 MB/s
Collecting alabaster<0.8,>=0.7
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl (14 kB)
Collecting sphinxcontrib-serializinghtml>=1.1.5
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/c6/77/5464ec50dd0f1c1037e3c93249b040c8fc8078fdda97530eeb02424b6eea/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl (94 kB)
     |████████████████████████████████| 94 kB 33.1 MB/s
Collecting Pygments>=2.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/5c/8e/1d9017950034297fffa336c72e693a5b51bbf85141b24a763882cf1977b5/Pygments-2.12.0-py3-none-any.whl (1.1 MB)
     |████████████████████████████████| 1.1 MB 31.6 MB/s
Collecting sphinxcontrib-devhelp
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/c5/09/5de5ed43a521387f18bdf5f5af31d099605c992fd25372b2b9b825ce48ee/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB)
     |████████████████████████████████| 84 kB 87.8 MB/s
Collecting imagesize
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/60/d6/5e803b17f4d42e085c365b44fda34deb0d8675a1a910635930b831c43f07/imagesize-1.3.0-py2.py3-none-any.whl (5.2 kB)
Collecting snowballstemmer>=1.1
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB)
     |████████████████████████████████| 93 kB 45.7 MB/s
Collecting babel>=1.3
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/c5/7b/2c9fc1e18cb97676c7bedaa872447eb720e0c6e0e48190b4fba7eccdc1a8/Babel-2.10.1-py3-none-any.whl (9.5 MB)
     |████████████████████████████████| 9.5 MB 25.2 MB/s
Collecting sphinxcontrib-htmlhelp>=2.0.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/63/40/c854ef09500e25f6432dcbad0f37df87fd7046d376272292d8654cc71c95/sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl (100 kB)
     |████████████████████████████████| 100 kB 113.7 MB/s
Collecting sphinxcontrib-jsmath
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Collecting python-dateutil
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     |████████████████████████████████| 247 kB 113.9 MB/s
Collecting lxml
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/d4/a7/21bf8234d3f0bae5219c869c2d34d1ac3fcd0b1907ce2afffb0209b15a7f/lxml-4.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (6.9 MB)
     |████████████████████████████████| 6.9 MB 26.3 MB/s
Collecting snazzy
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/11/ee/49de693ee08ef439e8d8985e106e575a386bb5084089a8cbb5133cfa7fa0/snazzy-0.2.2-py3-none-any.whl (7.7 kB)
Collecting filelock>=3.0.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/e8/74/48523f5206b0930f7c6b312890c7ab285dba55cea3f0a303999c5425df08/filelock-3.7.0-py3-none-any.whl (10 kB)
Collecting virtualenv!=20.0.0,!=20.0.1,!=20.0.2,!=20.0.3,!=20.0.4,!=20.0.5,!=20.0.6,!=20.0.7,>=16.0.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/9e/34/e86fc6a8f84329b49321a532b3c1fef103c67765df957fbb3852eea39d00/virtualenv-20.14.1-py2.py3-none-any.whl (8.8 MB)
     |████████████████████████████████| 8.8 MB 24.5 MB/s
Collecting toml>=0.9.4
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting pluggy>=0.12.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
Collecting requests-toolbelt!=0.9.0,>=0.8.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/60/ef/7681134338fc097acef8d9b2f8abe0458e4d87559c689a8c306d0957ece5/requests_toolbelt-0.9.1-py2.py3-none-any.whl (54 kB)
     |████████████████████████████████| 54 kB 81.8 MB/s
Collecting pkginfo>=1.4.2
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/cd/00/49f59cdd2c6a52e6665fda4de671dac5614366dc827e050c55428241b929/pkginfo-1.8.2-py2.py3-none-any.whl (26 kB)
Collecting tqdm>=4.14
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/8a/c4/d15f1e627fff25443ded77ea70a7b5532d6371498f9285d44d62587e209c/tqdm-4.64.0-py2.py3-none-any.whl (78 kB)
     |████████████████████████████████| 78 kB 107.4 MB/s
Collecting readme-renderer>=21.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/b0/c3/63b1bb5f406a7b223c254a5b34079f205b4f4b365143620fbc1415c98367/readme_renderer-35.0-py3-none-any.whl (14 kB)
Collecting waitress>=0.8.5
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/3c/ce/5761c7e60b9fdf526ddf461f416e67644147e83a30e8364d231ec62eb81e/waitress-2.1.1-py3-none-any.whl (57 kB)
     |████████████████████████████████| 57 kB 99.7 MB/s
Collecting beautifulsoup4
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/9c/d8/909c4089dbe4ade9f9705f143c9f13f065049a9d5e7d34c828aefdd0a97c/beautifulsoup4-4.11.1-py3-none-any.whl (128 kB)
     |████████████████████████████████| 128 kB 119.7 MB/s
Collecting WebOb>=1.2
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/62/9c/e94a9982e9f31fc35cf46cdc543a6c2c26cb7174635b5fd25b0bbc6a7bc0/WebOb-1.8.7-py2.py3-none-any.whl (114 kB)
     |████████████████████████████████| 114 kB 119.1 MB/s
Collecting zipp>=0.5
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/80/0e/16a7ee38617aab6a624e95948d314097cc2669edae9b02ded53309941cfc/zipp-3.8.0-py3-none-any.whl (5.4 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl (98 kB)
     |████████████████████████████████| 98 kB 108.2 MB/s
Collecting pytz>=2015.7
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/60/2e/dec1cc18c51b8df33c7c4d0a321b084cf38e1733b98f9d15018880fb4970/pytz-2022.1-py2.py3-none-any.whl (503 kB)
     |████████████████████████████████| 503 kB 110.4 MB/s
Collecting distlib<1,>=0.3.1
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/ac/a3/8ee4f54d5f12e16eeeda6b7df3dfdbda24e6cc572c86ff959a4ce110391b/distlib-0.3.4-py2.py3-none-any.whl (461 kB)
     |████████████████████████████████| 461 kB 124.6 MB/s
Collecting bleach>=2.1.0
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/35/8b/bad37525e7ef0669f013059affb3bbcd9311a24d63eda96723339ee0aab7/bleach-5.0.0-py3-none-any.whl (160 kB)
     |████████████████████████████████| 160 kB 122.4 MB/s
Collecting soupsieve>1.2
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/16/e3/4ad79882b92617e3a4a0df1960d6bce08edfb637737ac5c3f3ba29022e25/soupsieve-2.3.2.post1-py3-none-any.whl (37 kB)
Collecting webencodings
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: flake8-quotes, pytest-cov, cov-core, coverage
  Building wheel for flake8-quotes (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/code/venv/wsgidav_org/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-a55tt9u6/flake8-quotes/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a55tt9u6/flake8-quotes/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-d5wr3p57
       cwd: /tmp/pip-install-a55tt9u6/flake8-quotes/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help

  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for flake8-quotes
  Running setup.py clean for flake8-quotes
  Building wheel for pytest-cov (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/code/venv/wsgidav_org/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-a55tt9u6/pytest-cov/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a55tt9u6/pytest-cov/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-dskwt061
       cwd: /tmp/pip-install-a55tt9u6/pytest-cov/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help

  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for pytest-cov
  Running setup.py clean for pytest-cov
  Building wheel for cov-core (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/code/venv/wsgidav_org/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-a55tt9u6/cov-core/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a55tt9u6/cov-core/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ubp52oql
       cwd: /tmp/pip-install-a55tt9u6/cov-core/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help

  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for cov-core
  Running setup.py clean for cov-core
  Building wheel for coverage (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/code/venv/wsgidav_org/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-a55tt9u6/coverage/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a55tt9u6/coverage/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-sdcyh6gp
       cwd: /tmp/pip-install-a55tt9u6/coverage/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help

  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for coverage
  Running setup.py clean for coverage
Failed to build flake8-quotes pytest-cov cov-core coverage
ERROR: sphinx 4.5.0 has requirement docutils<0.18,>=0.14, but you'll have docutils 0.18.1 which is incompatible.
ERROR: sphinx-rtd-theme 1.0.0 has requirement docutils<0.18, but you'll have docutils 0.18.1 which is incompatible.
Installing collected packages: defusedxml, MarkupSafe, Jinja2, json5, python-pam, PyYAML, six, more-itertools, jaraco.functools, cheroot, Paste, platformdirs, typing-extensions, mypy-extensions, tomli, click, pathspec, black, pyflakes, pycodestyle, mccabe, flake8, attrs, flake8-bugbear, flake8-quotes, py, pytest, coverage, cov-core, pytest-cov, commonmark, docutils, zipp, importlib-metadata, sphinxcontrib-applehelp, pyparsing, packaging, sphinxcontrib-qthelp, alabaster, charset-normalizer, urllib3, idna, certifi, requests, sphinxcontrib-serializinghtml, Pygments, sphinxcontrib-devhelp, imagesize, snowballstemmer, pytz, babel, sphinxcontrib-htmlhelp, sphinxcontrib-jsmath, sphinx, recommonmark, setuptools, sphinx-rtd-theme, python-dateutil, lxml, snazzy, stressor, filelock, distlib, virtualenv, toml, pluggy, tox, requests-toolbelt, pkginfo, tqdm, webencodings, bleach, readme-renderer, twine, waitress, soupsieve, beautifulsoup4, WebOb, WebTest, wheel
    Running setup.py install for flake8-quotes ... done
    Running setup.py install for coverage ... done
    Running setup.py install for cov-core ... done
    Running setup.py install for pytest-cov ... done
  Attempting uninstall: setuptools
    Found existing installation: setuptools 44.0.0
    Uninstalling setuptools-44.0.0:
      Successfully uninstalled setuptools-44.0.0
Successfully installed Jinja2-2.11.3 MarkupSafe-2.1.1 Paste-2.0.3 PyYAML-6.0 Pygments-2.12.0 WebOb-1.8.7 WebTest-2.0.35 alabaster-0.7.12 attrs-21.4.0 babel-2.10.1 beautifulsoup4-4.11.1 black-22.3.0 bleach-5.0.0 certifi-2022.5.18.1 charset-normalizer-2.0.12 cheroot-8.6.0 click-8.1.3 commonmark-0.9.1 cov-core-1.15.0 coverage-3.7.1 defusedxml-0.7.1 distlib-0.3.4 docutils-0.18.1 filelock-3.7.0 flake8-3.9.2 flake8-bugbear-20.11.1 flake8-quotes-1.0.0 idna-3.3 imagesize-1.3.0 importlib-metadata-4.11.4 jaraco.functools-3.5.0 json5-0.8.5 lxml-4.8.0 mccabe-0.6.1 more-itertools-8.13.0 mypy-extensions-0.4.3 packaging-21.3 pathspec-0.9.0 pkginfo-1.8.2 platformdirs-2.5.2 pluggy-1.0.0 py-1.11.0 pycodestyle-2.7.0 pyflakes-2.3.1 pyparsing-3.0.9 pytest-2.9.2 pytest-cov-1.8.1 python-dateutil-2.8.2 python-pam-1.8.4 pytz-2022.1 readme-renderer-35.0 recommonmark-0.7.1 requests-2.27.1 requests-toolbelt-0.9.1 setuptools-40.9.0 six-1.16.0 snazzy-0.2.2 snowballstemmer-2.2.0 soupsieve-2.3.2.post1 sphinx-4.5.0 sphinx-rtd-theme-1.0.0 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 stressor-0.5.1 toml-0.10.2 tomli-2.0.1 tox-3.25.0 tqdm-4.64.0 twine-1.15.0 typing-extensions-4.2.0 urllib3-1.26.9 virtualenv-20.14.1 waitress-2.1.1 webencodings-0.5.1 wheel-0.37.1 zipp-3.8.0
  1. After unsuccessful requirements environments installation, I tried install the source code with pip install -e ., with success output:
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/
Obtaining file:///root/code/fake/wsgidav
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: json5 in /root/code/venv/wsgidav_org/lib/python3.8/site-packages (from WsgiDAV==4.0.2.post0) (0.8.5)
Requirement already satisfied: defusedxml in /root/code/venv/wsgidav_org/lib/python3.8/site-packages (from WsgiDAV==4.0.2.post0) (0.7.1)
Requirement already satisfied: PyYAML in /root/code/venv/wsgidav_org/lib/python3.8/site-packages (from WsgiDAV==4.0.2.post0) (6.0)
Requirement already satisfied: Jinja2 in /root/code/venv/wsgidav_org/lib/python3.8/site-packages (from WsgiDAV==4.0.2.post0) (2.11.3)
Requirement already satisfied: MarkupSafe>=0.23 in /root/code/venv/wsgidav_org/lib/python3.8/site-packages (from Jinja2->WsgiDAV==4.0.2.post0) (2.1.1)
Installing collected packages: WsgiDAV
  Running setup.py develop for WsgiDAV
Successfully installed WsgiDAV
  1. Then verify installation result with wsgidav --version, see Error:
Traceback (most recent call last):
  File "/root/code/venv/wsgidav_org/bin/wsgidav", line 33, in <module>
    sys.exit(load_entry_point('WsgiDAV', 'console_scripts', 'wsgidav')())
  File "/root/code/venv/wsgidav_org/bin/wsgidav", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 848, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/root/code/fake/wsgidav/wsgidav/server/server_cli.py", line 48, in <module>
    from wsgidav.default_conf import DEFAULT_CONFIG, DEFAULT_VERBOSE
  File "/root/code/fake/wsgidav/wsgidav/default_conf.py", line 18, in <module>
    from wsgidav.dir_browser import WsgiDavDirBrowser
  File "/root/code/fake/wsgidav/wsgidav/dir_browser/__init__.py", line 2, in <module>
    from ._dir_browser import WsgiDavDirBrowser
  File "/root/code/fake/wsgidav/wsgidav/dir_browser/_dir_browser.py", line 13, in <module>
    from jinja2 import Environment, FileSystemLoader
  File "/root/code/venv/wsgidav_org/lib/python3.8/site-packages/jinja2/__init__.py", line 12, in <module>
    from .environment import Environment
  File "/root/code/venv/wsgidav_org/lib/python3.8/site-packages/jinja2/environment.py", line 25, in <module>
    from .defaults import BLOCK_END_STRING
  File "/root/code/venv/wsgidav_org/lib/python3.8/site-packages/jinja2/defaults.py", line 3, in <module>
    from .filters import FILTERS as DEFAULT_FILTERS  # noqa: F401
  File "/root/code/venv/wsgidav_org/lib/python3.8/site-packages/jinja2/filters.py", line 13, in <module>
    from markupsafe import soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/root/code/venv/wsgidav_org/lib/python3.8/site-packages/markupsafe/__init__.py)

Expected behavior

  1. requirements-dev.txt shall be install without warning
  2. markupsafe shall not report ImportError: cannot import name 'soft_unicode' from 'markupsafe' error.

Screenshots, Log-Files, Stacktrace

See above

Environment:

wsgidav version:4.0.2
python:3.8.10

Additional context
There is known bug report for Markupsafe remove soft_unicode from source code,see #261 and #1596

I will try to fix the dependancy issues with pull request.

ERROR: Invalid requirement: 'cheroot~=8' (from line 5 of requirements-dev.txt)

the ~= operator MUST NOT be used with a single segment version number such as ~=1.