kovidgoyal / html5-parser

Fast C based HTML 5 parsing for python
Apache License 2.0
678 stars 33 forks source link

request for clarification or setup.py rework #16

Closed romain-dartigues closed 6 years ago

romain-dartigues commented 6 years ago

I would like to ask for clarification on the documentation.

$ pip install html5-parser
Collecting html5-parser
  Using cached https://files.pythonhosted.org/packages/f6/f9/0cffbc45d00f94dd2e97061d81be86ca8efc452e7acd7a5020b67b682e40/html5-parser-0.4.5.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-8mWmIw/html5-parser/setup.py", line 79, in <module>
        include_dirs=include_dirs(),
      File "/tmp/pip-install-8mWmIw/html5-parser/build.py", line 89, in include_dirs
        return [x[2:] for x in pkg_config('libxml-2.0', '--cflags-only-I')]
      File "/tmp/pip-install-8mWmIw/html5-parser/build.py", line 75, in pkg_config
        val = subprocess.check_output([PKGCONFIG, pkg] + list(args)).decode('utf-8')
      File "/usr/lib/python2.7/subprocess.py", line 212, in check_output
        process = Popen(stdout=PIPE, *popenargs, **kwargs)
      File "/usr/lib/python2.7/subprocess.py", line 390, in __init__
        errread, errwrite)
      File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-8mWmIw/html5-parser/

$ python setup.py check
Traceback (most recent call last):                                                
  File "setup.py", line 79, in <module>            
    include_dirs=include_dirs(),       
  File "/tmp/html5-parser-0.4.5/build.py", line 89, in include_dirs
    return [x[2:] for x in pkg_config('libxml-2.0', '--cflags-only-I')]
  File "/tmp/html5-parser-0.4.5/build.py", line 75, in pkg_config  
    val = subprocess.check_output([PKGCONFIG, pkg] + list(args)).decode('utf-8')
  File "/usr/lib/python2.7/subprocess.py", line 212, in check_output            
    process = Popen(stdout=PIPE, *popenargs, **kwargs)                          
  File "/usr/lib/python2.7/subprocess.py", line 390, in __init__    
    errread, errwrite)                                                                                                     
  File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child
    raise child_exception                           
OSError: [Errno 2] No such file or directory                           

It would be ideal to have a setup.py gracefully failing with a human-oriented message telling which dependencies are failing.

But I would be content enough with a requirement list in the documentation, such as:

Thank you!

romain-dartigues commented 6 years ago

Thank you