Bug 1335144
| Summary: | python-stuf: ImportError: cannot import name items | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Tomas Orsava <torsava> |
| Component: | python-stuf | Assignee: | Fedora Infrastructure SIG <infra-sig> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | cstratak, infra-sig, liling, rbean |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | python-stuf-0.9.16-7.fc24 python-stuf-0.9.16-7.fc23 python-stuf-0.9.16-7.fc22 python-stuf-0.9.16-8.el7 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-07-10 05:57:57 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: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1285544 | ||
This puzzles me too. I am not sure which "six" package python2-stuf uses. In addition to "items", it also requires six to provide OrderedDict (stuf.collects, line 8), which according to this link https://bitbucket.org/gutworth/six/issues/42/ordereddict-for-python-27 is never included in six. I see. python-stuf uses its own version of six.py, but the RPM packaging procedure replaces that with the system-wide one (see the changelog below). * Mon Nov 30 2015 Ralph Bean <rbean> - 0.9.16-2 ... - Unbundle and add dep on python-six and python3-six. Ah, that makes sense. So, I guess the problem is the bundled version of "six" is customized and not compatible with the standard upstream version of "six"? I think in that case the guidelines allow for the package to use the bundled, customized version of "six". Patch applied: http://pkgs.fedoraproject.org/cgit/rpms/python-stuf.git/commit/?id=b2d0b139152801460649ea0aa720aed85e602f3f python-stuf-0.9.16-7.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-88d1dd43df python-stuf-0.9.16-7.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-68834a8bf9 python-stuf-0.9.16-7.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-828ce6b5a6 python-stuf-0.9.16-7.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a931c8f9c3 python-stuf-0.9.16-7.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-68834a8bf9 python-stuf-0.9.16-7.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-828ce6b5a6 python-stuf-0.9.16-7.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-a931c8f9c3 python-stuf-0.9.16-7.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-88d1dd43df Thanks for fixing the "six" issue.
There is one more minor issue for EL 7. This version of python-stuf states its requirement in /usr/lib/python2.7/site-packages/stuf-0.9.16-py2.7.egg-info/requires.txt "parse>=1.6.6" while EPEL only provides 1.6.4. So when it is used, one get the error message below:
VersionConflict: (parse 1.6.4 (/usr/lib/python2.7/site-packages), Requirement.parse('parse>=1.6.6'))
There are two fixes:
a) ignore that requirement (%exclude %{python2_sitelib}/%{modname}-%{version}*/requires*) and add to the RPM spec "Requires: python-parse >= 1.6.4"
b) Provides python-parse 1.6.6 in EPEL 7.
It is actually safe (from my experience) to use 1.6.4 instead of 1.6.6.
Ling, thanks! Can you file a separate bug for that issue? python-stuf-0.9.16-8.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-48b9b3921e python-stuf-0.9.16-8.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-48b9b3921e Thanks! The new update (python-stuf-0.9.16-8.el7) works fine for me. python-stuf-0.9.16-7.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report. python-stuf-0.9.16-7.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. python-stuf-0.9.16-7.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. python-stuf-0.9.16-8.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report. |
Description of problem: When I try to do 'import stuf' inside Python 2 or Python 3 interactive interpreter, I get the following traceback: Python 2.7.11 (default, Mar 31 2016, 20:46:51) [GCC 5.3.1 20151207 (Red Hat 5.3.1-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import stuf Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/site-packages/stuf/__init__.py", line 4, in <module> from stuf.iterable import ( File "/usr/lib/python2.7/site-packages/stuf/iterable.py", line 7, in <module> from .six import items, map, next ImportError: cannot import name items Version-Release number of selected component (if applicable): Package python2-stuf-0.9.16-5.fc23.noarch Package python3-stuf-0.9.16-5.fc23.noarch Tested on my Fedora 23, and in mock on Fedora 23 and rawhide. How reproducible: Every time Steps to Reproduce: 1. install python2-stuf or python3-stuf 2. python2 or python3 3. import stuf Actual results: Traceback Expected results: Module is imported Additional info: -