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.

Reply via email to