title: Python pip install failing with error code 1
body: <p>I am working on CentOS6 and have been able to install python2.7. After creating a virtualenv I have started installing various packages of python. I can install some packages easily like requests,etc. but installing packages like Numpy, scipy, gensim, pycurl are a huge pain. It keeps on giving me this error:</p>
  
  <p>By running <code>pip install pycurl</code>  from within the virtualenv with python2.7 installed I am running into the problem.</p>
  
  <pre><code>Collecting pycurl
    Downloading pycurl-7.19.5.1.tar.gz (142kB)
      100% |████████████████████████████████| 143kB 2.8MB/s
      Complete output from command python setup.py egg_info:
      Traceback (most recent call last):
        File "&lt;string&gt;", line 20, in &lt;module&gt;
        File "/tmp/pip-build-ClD2EM/pycurl/setup.py", line 634, in &lt;module&gt;
          ext = get_extension(split_extension_source=split_extension_source)
        File "/tmp/pip-build-ClD2EM/pycurl/setup.py", line 392, in get_extension
          ext_config = ExtensionConfiguration()
        File "/tmp/pip-build-ClD2EM/pycurl/setup.py", line 65, in __init__
          self.configure()
        File "/tmp/pip-build-ClD2EM/pycurl/setup.py", line 100, in configure_unix
          raise ConfigurationError(msg)
      __main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory
  
      ----------------------------------------
  Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ClD2EM/pycurl
  </code></pre>
  
  <p>I am not abel to fix this setup.py egg_info problem.  </p>
  
  <p>After running <code>yum install libcurl</code> and then running <code>pip install pycurl</code> i got this:</p>
  
  <pre><code>Collecting pycurl
    Using cached pycurl-7.19.5.1.tar.gz
  Building wheels for collected packages: pycurl
    Running setup.py bdist_wheel for pycurl
    Complete output from command /home/pgupta/python27_project/bin/python2.7 -c "import setuptools;__file__='/tmp/pip-build-bH6H_j/pycurl/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpG3CwZBpip-wheel-:
    Using curl-config (libcurl 7.19.7)
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/curl
    copying python/curl/__init__.py -&gt; build/lib.linux-x86_64-2.7/curl
    running build_ext
    building 'pycurl' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/src
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPYCURL_VERSION="7.19.5.1" -DHAVE_CURL_SSL=1 -I/usr/include/python2.7 -c src/docstrings.c -o build/temp.linux-x86_64-2.7/src/docstrings.o
    In file included from src/docstrings.c:4:
    src/pycurl.h:4:20: error: Python.h: No such file or directory
    src/pycurl.h:5:22: error: pythread.h: No such file or directory
    src/pycurl.h:56:4: error: #error "Need Python version 2.4 or greater to compile pycurl."
    src/pycurl.h:165:5: warning: #warning "libcurl was compiled with SSL support, but configure could not determine which " "library was used; thus no SSL crypto locking callbacks will be set, which may " "cause random crashes on SSL requests"
    In file included from src/docstrings.c:4:
    src/pycurl.h:232: error: expected ‘)’ before ‘*’ token
    src/pycurl.h:234: error: expected ‘)’ before ‘*’ token
    src/pycurl.h:236: error: expected ‘)’ before ‘*’ token
    src/pycurl.h:286: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
    src/pycurl.h:328: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
    src/pycurl.h:343: error: expected specifier-qualifier-list before ‘PyThread_type_lock’
    src/pycurl.h:347: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
    src/pycurl.h:397: error: expected ‘)’ before ‘*’ token
    src/pycurl.h:398: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:406: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:408: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:410: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:415: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Curl_Type’
    src/pycurl.h:416: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CurlMulti_Type’
    src/pycurl.h:417: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CurlShare_Type’
    src/pycurl.h:419: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:420: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:421: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:422: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:424: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:425: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/pycurl.h:426: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    error: command 'gcc' failed with exit status 1
  
    ----------------------------------------
    Failed building wheel for pycurl
  Failed to build pycurl
  Installing collected packages: pycurl
    Running setup.py install for pycurl
      Complete output from command /home/pgupta/python27_project/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-bH6H_j/pycurl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Iit36I-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/pgupta/python27_project/include/site/python2.7/pycurl:
      Using curl-config (libcurl 7.19.7)
      running install
      running build
      running build_py
      running build_ext
      building 'pycurl' extension
      gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPYCURL_VERSION="7.19.5.1" -DHAVE_CURL_SSL=1 -I/usr/include/python2.7 -c src/docstrings.c -o build/temp.linux-x86_64-2.7/src/docstrings.o
      In file included from src/docstrings.c:4:
      src/pycurl.h:4:20: error: Python.h: No such file or directory
      src/pycurl.h:5:22: error: pythread.h: No such file or directory
      src/pycurl.h:56:4: error: #error "Need Python version 2.4 or greater to compile pycurl."
      src/pycurl.h:165:5: warning: #warning "libcurl was compiled with SSL support, but configure could not determine which " "library was used; thus no SSL crypto locking callbacks will be set, which may " "cause random crashes on SSL requests"
      In file included from src/docstrings.c:4:
      src/pycurl.h:232: error: expected ‘)’ before ‘*’ token
      src/pycurl.h:234: error: expected ‘)’ before ‘*’ token
      src/pycurl.h:236: error: expected ‘)’ before ‘*’ token
      src/pycurl.h:286: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
      src/pycurl.h:328: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
      src/pycurl.h:343: error: expected specifier-qualifier-list before ‘PyThread_type_lock’
      src/pycurl.h:347: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
      src/pycurl.h:397: error: expected ‘)’ before ‘*’ token
      src/pycurl.h:398: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:406: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:408: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:410: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:415: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Curl_Type’
      src/pycurl.h:416: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CurlMulti_Type’
      src/pycurl.h:417: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CurlShare_Type’
      src/pycurl.h:419: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:420: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:421: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:422: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:424: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:425: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      src/pycurl.h:426: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
      error: command 'gcc' failed with exit status 1
  
      ----------------------------------------
  Command "/home/pgupta/python27_project/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-bH6H_j/pycurl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Iit36I-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/pgupta/python27_project/include/site/python2.7/pycurl" failed with error code 1 in /tmp/pip-build-bH6H_j/pycurl
  </code></pre>