question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Issue with MEO ISP in Portugal - 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

See original GitHub issue
  • Pip version: 10.0.0
  • Python version: 3.5.2
  • Operating system: Ubuntu 16.04

Description:

I cannot install packages using pip

What I’ve run:

pip install cython pip install kivy pip install --upgrade pip

all this leads to the same error as below.

pip install kivy -v

Outputs:

Created temporary directory: /tmp/pip-ephem-wheel-cache-rs27mmeh
Created temporary directory: /tmp/pip-install-dtnthpzj
Collecting kivy
  1 location(s) to search for versions of kivy:
  * https://pypi.python.org/simple/kivy/
  Getting page https://pypi.python.org/simple/kivy/
  Looking up "https://pypi.python.org/simple/kivy/" in the cache
  Returning cached "301 Moved Permanently" response (ignoring date and etag information)
  Looking up "https://pypi.org/simple/kivy/" in the cache
  No cache entry available
  Starting new HTTPS connection (1): pypi.org
  Incremented Retry for (url='/simple/kivy/'): Retry(total=4, connect=None, read=None, redirect=None, status=None)
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /simple/kivy/
  Starting new HTTPS connection (2): pypi.org
  Incremented Retry for (url='/simple/kivy/'): Retry(total=3, connect=None, read=None, redirect=None, status=None)
  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /simple/kivy/
  Starting new HTTPS connection (3): pypi.org
  Incremented Retry for (url='/simple/kivy/'): Retry(total=2, connect=None, read=None, redirect=None, status=None)
  Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /simple/kivy/
  Starting new HTTPS connection (4): pypi.org
  Incremented Retry for (url='/simple/kivy/'): Retry(total=1, connect=None, read=None, redirect=None, status=None)
  Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /simple/kivy/
  Starting new HTTPS connection (5): pypi.org
  Incremented Retry for (url='/simple/kivy/'): Retry(total=0, connect=None, read=None, redirect=None, status=None)
  Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /simple/kivy/
  Starting new HTTPS connection (6): pypi.org
  Could not fetch URL https://pypi.python.org/simple/kivy/: connection error: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/kivy/ (Caused by ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))) - skipping
  Could not find a version that satisfies the requirement kivy (from versions: )
Cleaning up...
No matching distribution found for kivy
Exception information:
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/resolve.py", line 103, in resolve
    self._resolve_one(requirement_set, req)
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/resolve.py", line 210, in _get_abstract_dist_for
    self.require_hashes
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/operations/prepare.py", line 243, in prepare_linked_requirement
    req.populate_link(finder, upgrade_allowed, require_hashes)
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/req/req_install.py", line 307, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/local/lib/python3.5/dist-packages/pip-10.0.0-py3.5.egg/pip/_internal/index.py", line 533, in find_requirement
    'No matching distribution found for %s' % req
pip._internal.exceptions.DistributionNotFound: No matching distribution found for kivy
You are using pip version 10.0.0, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:4
  • Comments:75 (14 by maintainers)

github_iconTop GitHub Comments

5reactions
jgrochacommented, Oct 21, 2018

One workaround is to disable IPv6.

  1. Disable IPv6
  2. Run pip
  3. Enable IPv6
5reactions
supinecommented, Oct 9, 2018

@lvale thank you for that information.

There is a known issue with Thomson / Technicolor Gateway routers where they reset the IPv6 flow label in the middle of a TCP session when it is supposed to be static from the SYN to the FIN.

Large networks and service providers, Fastly included, use ECMP for load balancing. Ideally the path selection uses hashing that keeps a single TCP session on the same path.

Although Fastly mostly avoids using IPv6 flow label as an input into hashing:

  • some equipment does not let you exclude it
  • some other networks choose to configure it.

By reseting the IPv6 flow label in the middle of the TCP session the router is likely forcing ECMP rehashing somewhere in the path between yourself and Fastly. This could mean that subsequent packets land on the wrong cache or even in the wrong POP.

You can prove it’s the router by connecting your computer directly to the ONT and retesting.

I don’t have any straightforward solution for you. Your options appear to be:

  • seek out the latest firmware for your device, see if that fixes the problem
  • replace the supplied router with one of your own
Read more comments on GitHub >

github_iconTop Results From Across the Web

What does the '(104) Connection reset by peer' error ... - Quora
It means that TCP reset has been sent to your computer. This happens for example when web server is restarted due to configuration...
Read more >
python - Pip not working - Ask Ubuntu
The pip command that I used was: 'python3 -m pip install matplotlib'. How could I check my network, to trace the problem? –...
Read more >
'Connection aborted.', ConnectionResetError(104 ...
implies that the ChromeDriver was unable to communicate with the WebBrowser i.e. Chrome Browser session. Your main issue is the incompatibility ...
Read more >
Meo (Telecommunication Service) | Encyclopedia MDPI
MEO is a mobile and fixed telecommunications service and brand from Altice Portugal (formerly Portugal Telecom), managed by MEO - Serviços de Comunicações...
Read more >
Meo Internet problems - Expat Forum
Hi kirito. Meo is more trouble than it is worth!!! Ours was DIALUP SPEED!!! :eek: Unless you have access to FIBRA and are...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found