Pip version > 8 does does not work with Jython
See original GitHub issue- Pip version: 10.0.0
- Python version: Jython 2.7.0 and Jython 2.7.1b3
- Operating system: linux
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:
- Created 5 years ago
- Comments:6 (4 by maintainers)
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
That said, this fixes the problem: https://github.com/msgpack/msgpack-python/pull/304
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.