Bug 1359812

Summary: pymol: pymol requires both Python 2 and Python 3
Product: [Fedora] Fedora Reporter: Tomas Orsava <torsava>
Component: pymolAssignee: Tim Fenn <tim.fenn>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ishcherb, jberan, mhroncok, snoze.pa, tim.fenn
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pymol-1.8.2.2-4.20160625svn4159.fc24 pymol-1.8.2.2-4.20160625svn4159.fc23 pymol-1.8.6-4.20170314svn4170.fc27 pymol-1.8.6-4.20170314svn4170.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-23 21:08:40 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: 1285816, 1312032, 1340802    

Description Tomas Orsava 2016-07-25 13:38:57 UTC
The pymol RPM requires both Python 2 and Python 3.

Except in very special circumstances, there is no need for one package
to drag in both Python stacks. Usually, this is a packaging error: for
example, a stray "/usr/bin/python" shebang in a Python 3 package can
introduce a Python 2 dependency.

In this case I believe the probable source of the dependency on Python 2 is that the RPM has a runtime dependency on `python-numeric`, a Python 2–only package. I suggest switching to `python3-numpy`.

Please split your package, or remove the stray dependencies.
There is a section on shebangs in the Python RPM Porting Guide [0]
which covers this issue.

It's ok to do this in Rawhide only, however, it would be greatly
appreciated if you could push it to Fedora 25 as well.


If anything is unclear, or if you need any kind of assistance, you can
ask on IRC (#fedora-python on Freenode), or reply here. We'll be happy
to help investigating or fixing this issue!


[0] http://python-rpm-porting.readthedocs.io/en/latest/application-modules.html#are-shebangs-dragging-you-down-to-python-2

Comment 1 Jan Kurik 2016-07-26 05:08:53 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 2 Fedora Update System 2016-07-31 22:01:26 UTC
pymol-1.8.2.2-4.20160625svn4159.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-252cccfb22

Comment 3 Fedora Update System 2016-07-31 22:01:32 UTC
pymol-1.8.2.2-4.20160625svn4159.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-aa8e294a94

Comment 4 Fedora Update System 2016-08-01 20:53:56 UTC
pymol-1.8.2.2-4.20160625svn4159.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-252cccfb22

Comment 5 Fedora Update System 2016-08-01 20:57:08 UTC
pymol-1.8.2.2-4.20160625svn4159.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-aa8e294a94

Comment 6 snoze 2016-08-06 05:06:09 UTC
Now pymol have new problem in fedora 24. Whole pymol is a mess now. It is not working properly. 


Traceback (most recent call last):
  File "/usr/lib64/python3.5/site-packages/pmg_tk/PMGApp.py", line 25, in <module>
    import Queue
ImportError: No module named 'Queue'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.5/site-packages/pymol/__init__.py", line 381, in launch_gui
    __import__(self.invocation.options.gui)
  File "/usr/lib64/python3.5/site-packages/pmg_tk/__init__.py", line 22, in <module>
    from .PMGApp import *
  File "/usr/lib64/python3.5/site-packages/pmg_tk/PMGApp.py", line 31, in <module>
    from tkinter import *
ImportError: No module named 'tkinter'

Any Idea?

Comment 7 Tim Fenn 2016-08-06 15:33:19 UTC
(In reply to snoze from comment #6)
> Now pymol have new problem in fedora 24. Whole pymol is a mess now. It is
> not working properly. 
> 
> 
> Traceback (most recent call last):
>   File "/usr/lib64/python3.5/site-packages/pmg_tk/PMGApp.py", line 25, in
> <module>
>     import Queue
> ImportError: No module named 'Queue'
> 
> During handling of the above exception, another exception occurred:
> 
> Traceback (most recent call last):
>   File "/usr/lib64/python3.5/site-packages/pymol/__init__.py", line 381, in
> launch_gui
>     __import__(self.invocation.options.gui)
>   File "/usr/lib64/python3.5/site-packages/pmg_tk/__init__.py", line 22, in
> <module>
>     from .PMGApp import *
>   File "/usr/lib64/python3.5/site-packages/pmg_tk/PMGApp.py", line 31, in
> <module>
>     from tkinter import *
> ImportError: No module named 'tkinter'
> 
> Any Idea?

Upgrade to the latest python-pmw as well (in testing)
https://bodhi.fedoraproject.org/updates/?packages=python-pmw

Comment 8 Fedora Update System 2016-08-09 18:19:14 UTC
pymol-1.8.2.2-4.20160625svn4159.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2016-08-09 21:23:13 UTC
pymol-1.8.2.2-4.20160625svn4159.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 10 Iryna Shcherbina 2017-10-20 16:18:12 UTC
Reopening the issue as it is still reproducible:

$ dnf --disablerepo=* --enablerepo=rawhide repoquery --requires pymol | grep python
/usr/bin/python
libpython3.6m.so.1.0()(64bit)
python(abi) = 3.6
python3-numpy
python3-pmw
python3-tkinter


/usr/bin/python is dragging Python 2 dependency in and should be changed to `/usr/bin/python3`.

The dependency is generated from the executable test files with the corresponding shebang:

test/show
test/cyg
test/run

Comment 11 Fedora End Of Life 2017-11-16 19:08:02 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 12 Jan Beran 2017-12-12 10:19:22 UTC
Hello Tim,

I created a Pagure PR that fixes the both Python 2 and Python 3 dependence issue:

https://src.fedoraproject.org/rpms/pymol/pull-request/1

Please, may I ask to review and rebuild?

Comment 13 Fedora End Of Life 2017-12-12 10:28:59 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 14 Miro Hrončok 2017-12-12 10:32:04 UTC
$ dnf --disablerepo=* --enablerepo=koji repoquery --releasever=rawhide --requires pymol | grep python
/usr/bin/python
libpython3.6m.so.1.0()(64bit)
python(abi) = 3.6
python3-numpy
python3-pmw
python3-tkinter

Comment 15 Tim Fenn 2017-12-12 15:25:44 UTC
(In reply to Miro Hrončok from comment #14)
> $ dnf --disablerepo=* --enablerepo=koji repoquery --releasever=rawhide
> --requires pymol | grep python
> /usr/bin/python
> libpython3.6m.so.1.0()(64bit)
> python(abi) = 3.6
> python3-numpy
> python3-pmw
> python3-tkinter

Sorry - this had fallen off my radar - I'll try to get to it this week!

Comment 16 Fedora Update System 2017-12-14 14:36:45 UTC
pymol-1.8.6-4.20170314svn4170.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-ecf052aee0

Comment 17 Fedora Update System 2017-12-14 14:36:56 UTC
pymol-1.8.6-4.20170314svn4170.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-61e54e396e

Comment 18 Fedora Update System 2017-12-15 11:28:54 UTC
pymol-1.8.6-4.20170314svn4170.fc27 has been pushed to the Fedora 27 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-2017-ecf052aee0

Comment 19 Fedora Update System 2017-12-15 12:18:49 UTC
pymol-1.8.6-4.20170314svn4170.fc26 has been pushed to the Fedora 26 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-2017-61e54e396e

Comment 20 Fedora Update System 2017-12-23 21:08:40 UTC
pymol-1.8.6-4.20170314svn4170.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2017-12-23 22:22:45 UTC
pymol-1.8.6-4.20170314svn4170.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.