Bug 1057150

Summary: PyPI package does not specify pycurl dependency
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: python-urlgrabberAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jzeleny, packaging-team-maint, pbabinca
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-18 21:30:07 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 Kamil Páral 2014-01-23 14:23:35 UTC
Description of problem:
PyPI package [1] does not specify pycurl dependency in setup.py. Therefore it can't be simply installed, but you need to manually handle the dependency:

======================================================================

$ pip install urlgrabber
Downloading/unpacking urlgrabber
  Downloading urlgrabber-3.9.1.tar.gz (72kB): 72kB downloaded
  Running setup.py egg_info for package urlgrabber
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/home/kparal/devel/taskotron/env_taskotron/build/urlgrabber/setup.py", line 3, in <module>
        import urlgrabber as _urlgrabber
      File "urlgrabber/__init__.py", line 54, in <module>
        from grabber import urlgrab, urlopen, urlread
      File "urlgrabber/grabber.py", line 427, in <module>
        import pycurl
    ImportError: No module named pycurl
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/home/kparal/devel/taskotron/env_taskotron/build/urlgrabber/setup.py", line 3, in <module>

    import urlgrabber as _urlgrabber

  File "urlgrabber/__init__.py", line 54, in <module>

    from grabber import urlgrab, urlopen, urlread

  File "urlgrabber/grabber.py", line 427, in <module>

    import pycurl

ImportError: No module named pycurl

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/kparal/devel/taskotron/env_taskotron/build/urlgrabber
Storing complete log in /home/kparal/.pip/pip.log

======================================================================


Please specify the dependency. (And you can also fix invalid homepage on that PyPI page).

Thanks.

[1] https://pypi.python.org/pypi/urlgrabber/3.9.1

Comment 1 Pavol Babinčák 2015-01-21 13:17:01 UTC
Actually I believe the original problem is somewhere else. Distutils setup.py imports project's package to get some package metadata. But __init__.py imports grabber module which expects pycurl already installed. So in the end on every python setup.py run it expects pycurl already installed.

It is problem typical for many other projects as described here in point 5: https://python-packaging-user-guide.readthedocs.org/en/latest/single_source_version.html

The solution would be to get __version__, __doc__, __url__ and first entry of __author__ from __init__.py file somehow without importing the module itself. See link above for example how to get package __version__.

Comment 2 Pavol Babinčák 2015-03-09 16:50:33 UTC
I guess the problem described in Comment 1 is different issue. So I've created separate Bug 1200091.

Comment 3 Fedora End Of Life 2015-05-29 10:38:21 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. 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 '20'.

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 20 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 4 Daniel Mach 2018-07-18 21:30:07 UTC
yum and related packages are no longer actively developed.
They are being replaced with dnf, dnf-utils, etc.

I'm closing this bug because it's most likely never going to be fixed.
If you still consider your bug report important, reopen it, please.

Comment 5 Daniel Mach 2018-07-18 21:33:07 UTC
yum and related packages are no longer actively developed.
They are being replaced with dnf, dnf-utils, etc.

I'm closing this bug because it's most likely never going to be fixed.
If you still consider your bug report important, reopen it, please.