Closed
Description
multidict is a dependency of aiohttp & pbr. When updating python 3 packages, we encounter an issue with GNS3: aiohttp needs multidict<2, but pbr does not have such constraint, which means that if it is updated after aiohttp, we end with multidict==2.0.1, which breaks aiohttp requirement regarding multidict.
pip3 list | cut -d " " -f 1 | grep -v -f update-python-packages-exclude-list.txt | xargs -n1 pip3 install -U
...
Requirement already up-to-date: aiohttp in /usr/local/lib/python3.5/dist-packages
Requirement already up-to-date: multidict<2,>=1.2.2 in /usr/local/lib/python3.5/dist-packages (from aiohttp)
...
Requirement already up-to-date: pbr>=0.11 in /usr/local/lib/python3.5/dist-packages (from mock)
Collecting multidict
Using cached multidict-2.0.1-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: multidict
Found existing installation: multidict 1.3.0a1
Uninstalling multidict-1.3.0a1:
Successfully uninstalled multidict-1.3.0a1
Successfully installed multidict-2.0.1
...
gns3
...
Starting local server process with "/usr/local/bin/gns3server" --host=127.0.0.1 --port=8000 --local --controller --log="/root/.config/GNS3/gns3_server.log" --pid="/root/.config/GNS3/gns3_server.pid"
2016-08-31 16:36:05 INFO servers.py:550 Local server process has started (PID=27737)
Local server process has started (PID=27737)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 660, in _build_master
ws.require(__requires__)
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 968, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 859, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (multidict 2.0.1 (/usr/local/lib/python3.5/dist-packages), Requirement.parse('multidict<2,>=1.2.2'), {'aiohttp'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/gns3server", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 2976, in <module>
@_call_aside
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 2962, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 2989, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 662, in _build_master
return cls._build_from_requirements(__requires__)
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 675, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 854, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'multidict<2,>=1.2.2' distribution was not found and is required by aiohttp
However, if we now downgrade multidict to 1.3.0a1, gns3-server is happy:
pip3 install multidict==1.3.0a1
Collecting multidict==1.3.0a1
Using cached multidict-1.3.0a1-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: multidict
Found existing installation: multidict 2.0.1
Uninstalling multidict-2.0.1:
Successfully uninstalled multidict-2.0.1
Successfully installed multidict-1.3.0a1
gns3
...
Starting local server process with "/usr/local/bin/gns3server" --host=127.0.0.1 --port=8000 --local --controller --log="/root/.config/GNS3/gns3_server.log" --pid="/root/.config/GNS3/gns3_server.pid"
2016-08-31 16:39:10 INFO servers.py:550 Local server process has started (PID=29020)
Local server process has started (PID=29020)
2016-08-31 16:39:11 INFO __init__.py:181 VPCS module reset
VPCS module reset
2016-08-31 16:39:11 INFO __init__.py:322 Dynamips module reset
Dynamips module reset
2016-08-31 16:39:11 INFO __init__.py:262 IOU module reset
IOU module reset
2016-08-31 16:39:11 INFO __init__.py:256 QEMU module reset
QEMU module reset
2016-08-31 16:39:11 INFO __init__.py:302 VirtualBox module reset
VirtualBox module reset
2016-08-31 16:39:11 INFO __init__.py:369 VMware module reset
VMware module reset
2016-08-31 16:39:11 INFO __init__.py:193 Docker module reset
Docker module reset
2016-08-31 16:39:11 INFO __init__.py:70 Built-in module reset
Built-in module reset
2016-08-31 16:39:11 INFO topology.py:408 Topology reset
Topology reset
2016-08-31 16:39:13 INFO servers.py:575 Stopping local server (PID=29020)
Stopping local server (PID=29020)
Metadata
Assignees
Labels
No labels