Bug 1319963

Summary: python34's ensurepip is broken
Product: [Fedora] Fedora EPEL Reporter: Andy Lutomirski <luto>
Component: python34Assignee: Petr Viktorin (pviktori) <pviktori>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: carl, cstratak, elyscape, fedora, fschwarz, kevin, marti, mihai, mstuchli, pviktori, tadej.j
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-29 17:17:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andy Lutomirski 2016-03-22 00:33:51 UTC
This should work, but it doesn't:

# python3 -m ensurepip
Traceback (most recent call last):
  File "/usr/lib64/python3.4/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.4/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/lib64/python3.4/ensurepip/__main__.py", line 4, in <module>
    ensurepip._main()
  File "/usr/lib64/python3.4/ensurepip/__init__.py", line 209, in _main
    default_pip=args.default_pip,
  File "/usr/lib64/python3.4/ensurepip/__init__.py", line 98, in bootstrap
    "_bundled/{}".format(wheel_name),
  File "/usr/lib64/python3.4/pkgutil.py", line 629, in get_data
    return loader.get_data(resource_name)
  File "<frozen importlib._bootstrap>", line 1623, in get_data
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/setuptools-12.0.5-py2.py3-none-any.whl'

I suspect that some files are missing from the python34 package.

This may be the root cause of bug 1263057.

Comment 1 Eli Young 2016-10-07 22:59:53 UTC
(In reply to Andy Lutomirski from comment #0)
> I suspect that some files are missing from the python34 package.

This does indeed appear to be the case. As per Stack Overflow[1], the setuptools and pip wheels are missing from /lib64/python3.4/ensurepip.

[1]: http://stackoverflow.com/a/33767179/1724073

Comment 2 Eli Young 2016-10-07 23:01:16 UTC
Ah, minor correction: they're missing from /lib64/python3.4/ensurepip/__bundled__.

Comment 3 Eli Young 2016-10-17 18:10:07 UTC
One final correction because apparently I cannot read: the actual directory is _bundled, not __bundled__.

Comment 4 Felix Schwarz 2017-01-10 12:13:57 UTC
If I understood Fedora's python3 package (the one in F25, Python 3.5) correctly F25 solves this with the "rewheel" patch. That patch is not provided by python34.

However even enabling rewheel support alone is likely not fixing this because pip and setuptools are not using wheels in EPEL7. However we have python-wheel in EPEL7 now and providing a python34-wheel should be simple I guess.

Anyway it looks to me as if there is no simple fix so I'd value the opinion of a maintainer here. Clearly the current package does not work in some cases which I think are quite important (mainly "creating a virtualenv").

Comment 5 Carl George 2017-01-10 17:01:43 UTC
The fix for this can be found in bug 1263057#c10.  Should this be closed as a duplicate or marked as blocking the other bug?

Comment 6 Felix Schwarz 2017-01-10 17:05:23 UTC
Personally I think this bug has the better (initial) description but the comments in bug 1263057 contains more info.

Comment 7 Charalampos Stratakis 2017-05-29 17:17:45 UTC
Closing it as a duplicate, a fix has been pushed.

*** This bug has been marked as a duplicate of bug 1263057 ***