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.

Pip version > 8 does does not work with Jython

See original GitHub issue

Description:

Newer versions of Pip is unable to install packages with Jython as python compiler. It throws the error:

 File "/home/travis/jython/Lib/site-packages/pip/_vendor/msgpack/fallback.py", line 292, in feed
    self._buffer += view
TypeError: can't concat memoryview to bytearray

You can look here: https://travis-ci.org/oracc/pyoracc/jobs/368517211

The issue is resolved with pip version of 8.2.1 and less. Check here: https://travis-ci.org/oracc/pyoracc/jobs/368524652

What I’ve run:

pip install wheel
pip install setuptools
pip install ply pep8 mako pytest

Log:

Downloading/unpacking pip from https://files.pythonhosted.org/packages/62/a1/0d452b6901b0157a0134fd27ba89bf95a857fbda64ba52e1ca2cf61d8412/pip-10.0.0-py2.py3-none-any.whl#sha256=86a60a96d85e329962a9e6f6af612cbc11106293dbc83f119802b5bee9874cf3
  Downloading pip-10.0.0-py2.py3-none-any.whl (1.3MB): 1.3MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.6.dev1
    Uninstalling pip:
      Successfully uninstalled pip
Successfully installed pip
Cleaning up...
Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m
Collecting wheel
Exception:
Traceback (most recent call last):
  File "/home/travis/jython/Lib/site-packages/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 102, in resolve
    discovered_reqs.extend(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 102, in resolve
    discovered_reqs.extend(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 208, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/operations/prepare.py", line 243, in prepare_linked_requirement
    req.populate_link(finder, upgrade_allowed, require_hashes)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/req/req_install.py", line 307, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 484, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 442, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 587, in _get_pages
    page = self._get_page(location)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 705, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 810, in get_page
    resp = session.get(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 810, in get_page
    resp = session.get(
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 521, in get
    return self.request('GET', url, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/download.py", line 397, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py", line 42, in send
    cached_response = self.controller.cached_request(request)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py", line 42, in send
    cached_response = self.controller.cached_request(request)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/controller.py", line 137, in cached_request
    resp = self.serializer.loads(request, cache_data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 98, in loads
    return getattr(self, "_loads_v{0}".format(ver))(request, data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 98, in loads
    return getattr(self, "_loads_v{0}".format(ver))(request, data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 190, in _loads_v4
    cached = msgpack.loads(data, encoding='utf-8')
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 190, in _loads_v4
    cached = msgpack.loads(data, encoding='utf-8')
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/msgpack/fallback.py", line 119, in unpackb
    unpacker.feed(packed)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/msgpack/fallback.py", line 292, in feed
    self._buffer += view
TypeError: can't concat memoryview to bytearray
Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m
Exception:
Traceback (most recent call last):
  File "/home/travis/jython/Lib/site-packages/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 102, in resolve
    discovered_reqs.extend(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 102, in resolve
    discovered_reqs.extend(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 200, in _get_abstract_dist_for
    skip_reason = self._check_skip_installed(req)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 171, in _check_skip_installed
    self.finder.find_requirement(req_to_install, upgrade=True)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 171, in _check_skip_installed
    self.finder.find_requirement(req_to_install, upgrade=True)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 484, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 442, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 587, in _get_pages
    page = self._get_page(location)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 705, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 810, in get_page
    resp = session.get(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 810, in get_page
    resp = session.get(
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 521, in get
    return self.request('GET', url, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/download.py", line 397, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py", line 42, in send
    cached_response = self.controller.cached_request(request)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py", line 42, in send
    cached_response = self.controller.cached_request(request)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/controller.py", line 137, in cached_request
    resp = self.serializer.loads(request, cache_data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 98, in loads
    return getattr(self, "_loads_v{0}".format(ver))(request, data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 98, in loads
    return getattr(self, "_loads_v{0}".format(ver))(request, data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 190, in _loads_v4
    cached = msgpack.loads(data, encoding='utf-8')
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 190, in _loads_v4
    cached = msgpack.loads(data, encoding='utf-8')
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/msgpack/fallback.py", line 119, in unpackb
    unpacker.feed(packed)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/msgpack/fallback.py", line 292, in feed
    self._buffer += view
TypeError: can't concat memoryview to bytearray
Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m
Collecting ply
Exception:
Traceback (most recent call last):
  File "/home/travis/jython/Lib/site-packages/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 102, in resolve
    discovered_reqs.extend(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 102, in resolve
    discovered_reqs.extend(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/resolve.py", line 208, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/operations/prepare.py", line 243, in prepare_linked_requirement
    req.populate_link(finder, upgrade_allowed, require_hashes)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/req/req_install.py", line 307, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 484, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 442, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 587, in _get_pages
    page = self._get_page(location)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 705, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 810, in get_page
    resp = session.get(
  File "/home/travis/jython/Lib/site-packages/pip/_internal/index.py", line 810, in get_page
    resp = session.get(
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 521, in get
    return self.request('GET', url, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_internal/download.py", line 397, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py", line 42, in send
    cached_response = self.controller.cached_request(request)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py", line 42, in send
    cached_response = self.controller.cached_request(request)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/controller.py", line 137, in cached_request
    resp = self.serializer.loads(request, cache_data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 98, in loads
    return getattr(self, "_loads_v{0}".format(ver))(request, data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 98, in loads
    return getattr(self, "_loads_v{0}".format(ver))(request, data)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 190, in _loads_v4
    cached = msgpack.loads(data, encoding='utf-8')
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py", line 190, in _loads_v4
    cached = msgpack.loads(data, encoding='utf-8')
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/msgpack/fallback.py", line 119, in unpackb
    unpacker.feed(packed)
  File "/home/travis/jython/Lib/site-packages/pip/_vendor/msgpack/fallback.py", line 292, in feed
    self._buffer += view
TypeError: can't concat memoryview to bytearray

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
hroncokcommented, Aug 29, 2018

That said, this fixes the problem: https://github.com/msgpack/msgpack-python/pull/304

1reaction
pfmoorecommented, Apr 19, 2018

Similar to #5121 (not technically a duplicate, as the error is different, but it’s similar in principle). I’d suggest that you read the discussion against that issue for the background.

Officially, pip doesn’t support Jython, and while we’re not unwilling to do so, there has been no community interest in supplying fixes for issues in this area (and we have no Jython expertise in the core team). In this case, the issue appears to be getting triggered by code in the msgpack library, which we vendor, and may well be a result in a difference in behaviour between Jython and core CPython. So any resolution would have to be similar to #5121.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Issue 2360: Not installing pip on Jython
So I believe this is a bug in the PIP package. The code passage tries to check for ownership of the TEMP directory...
Read more >
How can I install various Python libraries in Jython?
The Jython shell is working fine. In Jython, how can I install libraries like lxml , Scrappy and BeautifulSoup that I'd normally install...
Read more >
ensurepip — Bootstrapping the pip installer — Python 3.11.1 ...
This invocation will install pip if it is not already installed, but otherwise does nothing. To ensure the installed version of pip is...
Read more >
setuptools 6.1 - PyPI
If you have Python 3.3 or later, you can use the py command to install to different ... Download ez_setup.py and run it...
Read more >
Changelog - pip documentation v22.3.1
Add --dry-run option to pip install , to let it print what it would install ... Silence Value for <location> does not match...
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