Issue #45 resolved

AttributeError crash when processing a package that doesn't exist

Mike Verdone
created an issue

I was using caniusepython3 and managed to trigger an AttributeError in distlib by feeding it a package name that isn't on PyPI. I'm sorry I can't provide much more info, but the traceback is below.

[ERROR] Failed to get external data for %s: %s
Traceback (most recent call last):
  File "/Users/miv/.venvs3.4/caniusepython3_master/lib/python3.4/site-packages/distlib/util.py", line 745, in _get_external_data
    resp = urlopen(url)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/urllib/request.py", line 153, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/urllib/request.py", line 461, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/urllib/request.py", line 574, in http_response
    'http', request, response, code, msg, hdrs)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/urllib/request.py", line 499, in error
    return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/urllib/request.py", line 433, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/urllib/request.py", line 582, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
[WARNING] xxx.sncodecs not found
Traceback (most recent call last):
  File "/Users/miv/.venvs3.4/caniusepython3_master/bin/caniusepython3", line 9, in <module>
    load_entry_point('caniusepython3==1.2.1', 'console_scripts', 'caniusepython3')()
  File "/Users/miv/projects/caniusepython3/caniusepython3/__main__.py", line 152, in main
    check(projects_from_cli(args))
  File "/Users/miv/projects/caniusepython3/caniusepython3/__main__.py", line 140, in check
    blockers = ciu.blocking_dependencies(projects, ciu.all_py3_projects())
  File "/Users/miv/projects/caniusepython3/caniusepython3/__init__.py", line 182, in blocking_dependencies
    for parent, deps in zip(check, executor.map(dependencies, check)):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/concurrent/futures/_base.py", line 549, in result_iterator
    yield future.result()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/concurrent/futures/_base.py", line 395, in result
    return self.__get_result()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/concurrent/futures/_base.py", line 354, in __get_result
    raise self._exception
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/miv/projects/caniusepython3/caniusepython3/__init__.py", line 154, in dependencies
    located = distlib.locators.locate(project_name, prereleases=True)
  File "/Users/miv/.venvs3.4/caniusepython3_master/lib/python3.4/site-packages/distlib/locators.py", line 331, in locate
    versions = self.get_project(r.name)
  File "/Users/miv/.venvs3.4/caniusepython3_master/lib/python3.4/site-packages/distlib/locators.py", line 158, in get_project
    result = self._get_project(name)
  File "/Users/miv/.venvs3.4/caniusepython3_master/lib/python3.4/site-packages/distlib/locators.py", line 900, in _get_project
    d = locator.get_project(name)
  File "/Users/miv/.venvs3.4/caniusepython3_master/lib/python3.4/site-packages/distlib/locators.py", line 158, in get_project
    result = self._get_project(name)
  File "/Users/miv/.venvs3.4/caniusepython3_master/lib/python3.4/site-packages/distlib/locators.py", line 577, in _get_project
    del self.result
AttributeError: result

Comments (4)

  1. Log in to comment