Hello,
I'm trying to install openwisp2 to a raspberry pi 4 to set it up as a wlc
for a couple of openwrt routers. And everything went well until the
installation of openwisp2 controller and its dependencies. The error
message (attached below) indicates some invalid version, but I couldn't
figure that out.
I'm just wondering if you can help me to eradicate the issue. Many thanks
in advance.
--// Begin
TASK [openwisp.openwisp2 : Install openwisp2 controller and its
dependencies] ***
FAILED - RETRYING: Install openwisp2 controller and its dependencies (5
retries left).
FAILED - RETRYING: Install openwisp2 controller and its dependencies (4
retries left).
FAILED - RETRYING: Install openwisp2 controller and its dependencies (3
retries left).
FAILED - RETRYING: Install openwisp2 controller and its dependencies (2
retries left).
FAILED - RETRYING: Install openwisp2 controller and its dependencies (1
retries left).
fatal: [hostname.domainname.net]: FAILED! => {"attempts": 5, "changed":
false, "cmd": ["/opt/openwisp2/env/bin/pip3", "install", "-U",
"openwisp-controller~=0.7.post1", "channels_redis", "service_identity"],
"msg": "stdout: Looking in indexes: https://pypi.org/simple,
https://www.piwheels.org/simple\nCollecting channels_redis\n Using cached
https://www.piwheels.org/simple/channels-redis/channels_redis-3.2.0-py2.py3-none-any.whl
(14
kB)\nCollecting openwisp-controller~=0.7.post1\n Using cached
https://www.piwheels.org/simple/openwisp-controller/openwisp_controller-0.8.1-py2.py3-none-any.whl
(491
kB)\nCollecting service_identity\n Using cached
https://www.piwheels.org/simple/service-identity/service_identity-18.1.0-py2.py3-none-any.whl
(11
kB)\nRequirement already satisfied: attrs>=16.0.0 in
/opt/openwisp2/env/lib/python3.7/site-packages (from service_identity)
(20.3.0)\nRequirement already satisfied: cryptography in
/opt/openwisp2/env/lib/python3.7/site-packages (from service_identity)
(3.2.1)\nCollecting aioredis~=1.0\n Using cached
https://www.piwheels.org/simple/aioredis/aioredis-1.3.1-py3-none-any.whl (65
kB)\nCollecting asgiref<4,>=3.2.10\n Using cached
https://www.piwheels.org/simple/asgiref/asgiref-3.3.1-py3-none-any.whl (19
kB)\nCollecting async-timeout\n Using cached
https://www.piwheels.org/simple/async-timeout/async_timeout-3.0.1-py3-none-any.whl
(8.2
kB)\nCollecting celery<4.5.0,>=4.4.3\n Using cached
https://www.piwheels.org/simple/celery/celery-4.4.7-py2.py3-none-any.whl (427
kB)\nCollecting billiard<4.0,>=3.6.3.0\n Using cached
https://www.piwheels.org/simple/billiard/billiard-3.6.3.0-py3-none-any.whl (89
kB)\nCollecting channels<4\n Using cached
https://www.piwheels.org/simple/channels/channels-3.0.2-py3-none-any.whl (38
kB)\nRequirement already satisfied: six>=1.4.1 in
/usr/lib/python3/dist-packages (from cryptography->service_identity)
(1.12.0)\nRequirement already satisfied: cffi!=1.11.3,>=1.8 in
/opt/openwisp2/env/lib/python3.7/site-packages (from
cryptography->service_identity) (1.14.4)\nRequirement already satisfied:
pycparser in /opt/openwisp2/env/lib/python3.7/site-packages (from
cffi!=1.11.3,>=1.8->cryptography->service_identity) (2.20)\nCollecting
daphne<4,>=3.0\n Using cached
https://www.piwheels.org/simple/daphne/daphne-3.0.1-py3-none-any.whl (26
kB)\nCollecting autobahn>=0.18\n Using cached
https://www.piwheels.org/simple/autobahn/autobahn-20.7.1-py2.py3-none-any.whl
(1.5
MB)\nRequirement already satisfied: cryptography in
/opt/openwisp2/env/lib/python3.7/site-packages (from service_identity)
(3.2.1)\nCollecting django<3.2,>=2.2\n Using cached
https://www.piwheels.org/simple/django/Django-3.1.4-py3-none-any.whl (7.8
MB)\nCollecting django-flat-json-widget~=0.1\n Using cached
https://www.piwheels.org/simple/django-flat-json-widget/django_flat_json_widget-0.1.1-py2.py3-none-any.whl
(16
kB)\nCollecting django-loci~=0.4.0\n Using cached
https://www.piwheels.org/simple/django-loci/django_loci-0.4-py2.py3-none-any.whl
(43
kB)\nCollecting channels<4\n Using cached
https://www.piwheels.org/simple/channels/channels-2.4.0-py2.py3-none-any.whl
(37
kB)\n Using cached
https://www.piwheels.org/simple/channels/channels-2.3.1-py2.py3-none-any.whl
(37
kB)\n Using cached
https://www.piwheels.org/simple/channels/channels-2.3.0-py2.py3-none-any.whl
(37
kB)\nINFO: pip is looking at multiple versions of django-loci to determine
which version is compatible with other requirements. This could take a
while.\n\n:stderr: ERROR: Exception:\nTraceback (most recent call last):\n
File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/cli/base_command.py\",
line 210, in _main\n status = self.run(options, args)\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/cli/req_command.py\",
line 180, in wrapper\n return func(self, options, args)\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/commands/install.py\",
line 319, in run\n reqs, check_supported_wheels=not options.target_dir\n
File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/resolver.py\",
line 122, in resolve\n requirements,
max_rounds=try_to_avoid_resolution_too_deep,\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_vendor/resolvelib/resolvers.py\",
line 445, in resolve\n state = resolution.resolve(requirements,
max_rounds=max_rounds)\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_vendor/resolvelib/resolvers.py\",
line 344, in resolve\n success = self._backtrack()\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_vendor/resolvelib/resolvers.py\",
line 284, in _backtrack\n self.state.criteria[k] =
crit.excluded_of(incompatibilities)\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_vendor/resolvelib/resolvers.py\",
line 107, in excluded_of\n cands =
self.candidates.excluding(candidates)\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_vendor/resolvelib/structs.py\",
line 140, in excluding\n return type(self)([c for c in self._sequence if
c not in candidates])\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_vendor/resolvelib/structs.py\",
line 140, in <listcomp>\n return type(self)([c for c in self._sequence
if c not in candidates])\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py\",
line 20, in _deduplicated_by_version\n for candidate in candidates:\n
File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/factory.py\",
line 203, in iter_index_candidates\n version=ican.version,\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/factory.py\",
line 145, in _make_candidate_from_link\n link, template, factory=self,
name=name, version=version,\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/candidates.py\",
line 290, in __init__\n wheel_version = Version(wheel.version)\n File
\"/opt/openwisp2/env/lib/python3.7/site-packages/pip/_vendor/packaging/version.py\",
line 298, in __init__\n raise InvalidVersion(\"Invalid version:
'{0}'\".format(version))\npip._vendor.packaging.version.InvalidVersion:
Invalid version: '2013d'\n"}
PLAY RECAP
*********************************************************************
hostname.domainname.net : ok=25 changed=0 unreachable=0 failed=1
skipped=27 rescued=0 ignored=0
--// End
--
You received this message because you are subscribed to the Google Groups
"OpenWISP" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web, visit
https://groups.google.com/d/msgid/openwisp/da3d5e4d-8ea7-4208-ab81-0c51f41cfe9dn%40googlegroups.com.