46
pip install scrapy
Downloading/unpacking scrapy
  Downloading Scrapy-0.24.2-py2-none-any.whl (502kB): 502kB downloaded
Downloading/unpacking pyOpenSSL (from scrapy)
  Downloading pyOpenSSL-0.14.tar.gz (128kB): 128kB downloaded
  Running setup.py (path:/home/elie/.virtualenvs/stat/build/pyOpenSSL/setup.py) egg_info for package pyOpenSSL

    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    no previously-included directories found matching 'doc/_build'
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /home/elie/.virtualenvs/stat/lib/python2.7/site-packages (from scrapy)
Downloading/unpacking queuelib (from scrapy)
  Downloading queuelib-1.1.1.tar.gz
  Running setup.py (path:/home/elie/.virtualenvs/stat/build/queuelib/setup.py) egg_info for package queuelib

Requirement already satisfied (use --upgrade to upgrade): lxml in /home/elie/.virtualenvs/stat/lib/python2.7/site-packages (from scrapy)
Downloading/unpacking w3lib>=1.2 (from scrapy)
  Downloading w3lib-1.6.tar.gz
  Running setup.py (path:/home/elie/.virtualenvs/stat/build/w3lib/setup.py) egg_info for package w3lib

Requirement already satisfied (use --upgrade to upgrade): cssselect>=0.9 in /home/elie/.virtualenvs/stat/lib/python2.7/site-packages (from scrapy)
Downloading/unpacking Twisted>=10.0.0 (from scrapy)
  Downloading Twisted-14.0.0.tar.bz2 (4.3MB): 4.3MB downloaded
  Running setup.py (path:/home/elie/.virtualenvs/stat/build/Twisted/setup.py) egg_info for package Twisted

Downloading/unpacking cryptography>=0.2.1 (from pyOpenSSL->scrapy)
  Downloading cryptography-0.5.2.tar.gz (319kB): 319kB downloaded
  Running setup.py (path:/home/elie/.virtualenvs/stat/build/cryptography/setup.py) egg_info for package cryptography
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    c/_cffi_backend.c:13:17: fatal error: ffi.h: No such file or directory
     #include <ffi.h>
                     ^
    compilation terminated.
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/home/elie/.virtualenvs/stat/build/cryptography/setup.py", line 174, in <module>
        "test": PyTest,
      File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/dist.py", line 239, in __init__
        self.fetch_build_eggs(attrs.pop('setup_requires'))
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/dist.py", line 263, in fetch_build_eggs
        parse_requirements(requires), installer=self.fetch_build_egg
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/pkg_resources.py", line 564, in resolve
        dist = best[req.key] = env.best_match(req, self, installer)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/pkg_resources.py", line 802, in best_match
        return self.obtain(req, installer) # try and download/install
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/pkg_resources.py", line 814, in obtain
        return installer(requirement)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/dist.py", line 313, in fetch_build_egg
        return cmd.easy_install(req)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 593, in easy_install
        return self.install_item(spec, dist.location, tmpdir, deps)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in install_item
        dists = self.install_eggs(spec, download, tmpdir)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 809, in install_eggs
        return self.build_and_install(setup_script, setup_base)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1015, in build_and_install
        self.run_setup(setup_script, setup_base, args)
      File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1003, in run_setup
        raise DistutilsError("Setup script exited with %s" % (v.args[0],))
    distutils.errors.DistutilsError: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    Complete output from command python setup.py egg_info:
    Package libffi was not found in the pkg-config search path.

Perhaps you should add the directory containing `libffi.pc'

to the PKG_CONFIG_PATH environment variable

No package 'libffi' found

Package libffi was not found in the pkg-config search path.

Perhaps you should add the directory containing `libffi.pc'

to the PKG_CONFIG_PATH environment variable

No package 'libffi' found

Package libffi was not found in the pkg-config search path.

Perhaps you should add the directory containing `libffi.pc'

to the PKG_CONFIG_PATH environment variable

No package 'libffi' found

Package libffi was not found in the pkg-config search path.

Perhaps you should add the directory containing `libffi.pc'

to the PKG_CONFIG_PATH environment variable

No package 'libffi' found

Package libffi was not found in the pkg-config search path.

Perhaps you should add the directory containing `libffi.pc'

to the PKG_CONFIG_PATH environment variable

No package 'libffi' found

c/_cffi_backend.c:13:17: fatal error: ffi.h: No such file or directory

 #include <ffi.h>

                 ^

compilation terminated.

Traceback (most recent call last):

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

  File "/home/elie/.virtualenvs/stat/build/cryptography/setup.py", line 174, in <module>

    "test": PyTest,

  File "/usr/lib/python2.7/distutils/core.py", line 111, in setup

    _setup_distribution = dist = klass(attrs)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/dist.py", line 239, in __init__

    self.fetch_build_eggs(attrs.pop('setup_requires'))

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/dist.py", line 263, in fetch_build_eggs

    parse_requirements(requires), installer=self.fetch_build_egg

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/pkg_resources.py", line 564, in resolve

    dist = best[req.key] = env.best_match(req, self, installer)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/pkg_resources.py", line 802, in best_match

    return self.obtain(req, installer) # try and download/install

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/pkg_resources.py", line 814, in obtain

    return installer(requirement)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/dist.py", line 313, in fetch_build_egg

    return cmd.easy_install(req)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 593, in easy_install

    return self.install_item(spec, dist.location, tmpdir, deps)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in install_item

    dists = self.install_eggs(spec, download, tmpdir)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 809, in install_eggs

    return self.build_and_install(setup_script, setup_base)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1015, in build_and_install

    self.run_setup(setup_script, setup_base, args)

  File "/home/elie/.virtualenvs/stat/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1003, in run_setup

    raise DistutilsError("Setup script exited with %s" % (v.args[0],))

distutils.errors.DistutilsError: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/elie/.virtualenvs/stat/build/cryptography
Storing debug log for failure in /home/elie/.pip/pip.log

I used to install scrapy before, never had issues, what's wrong?

5
  • @hbdgaf I meant I installed it now and I got another issue
    – Lynob
    Jul 19, 2014 at 9:28
  • @hbdgaf here's the new error pastebin.com/cpCRDVxH
    – Lynob
    Jul 19, 2014 at 9:29
  • @hbdgaf did that, and fixed it, it's just that you said Separate question then. Or you could try chat. so I thought I should show the error, you know what, nevermind
    – Lynob
    Jul 19, 2014 at 9:44
  • @hbdgaf ok next time, I will ask such questions there if I have to, thanks, not really used for chat rooms that's why i often post here
    – Lynob
    Jul 19, 2014 at 10:21
  • @hbdgaf lets burn them, i wanted to delete the question but I don't want for the user who answered it to lose rep
    – Lynob
    Jul 19, 2014 at 13:54

3 Answers 3

82

I got this error, too. The problem is

 No package 'libffi' found
 c/_cffi_backend.c:13:17: fatal error: ffi.h: No such file or directory
 #include <ffi.h>

You should do this:

sudo apt-get install libffi-dev
3
  • 11
    tried that and I had to install libssl-dev too
    – Lynob
    Jul 19, 2014 at 9:42
  • I've got that problem while trying pip3 install cairocffi. It solved it. Thank you! Oct 31, 2014 at 17:34
  • 2
    Amazon Linux: sudo yum install libffi-devel Aug 27, 2015 at 2:17
12

From a fresh installation of 14.04, I had to install python-dev, libffi-dev, libssl-dev, libxml2-dev, and libxslt1-dev packages. Once those were installed, pip install scrapy worked fine.

sudo apt-get install python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev
pip install scrapy
2
  • I face this error: ` ---------------------------------------- Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-0R1XKL/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-T9Uhnd-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-0R1XKL/lxml/ `
    – Vy Do
    Mar 30, 2016 at 15:39
  • This is my full log: gist.github.com/donhuvy/1cc55b4ed6a5c8a6e458fce62c51e337 I try to install scrapy on CentOS 7 - x64
    – Vy Do
    Mar 30, 2016 at 15:41
0

I have installed scrapy by using following two commands:

sudo apt-get install python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev

sudo apt-get install python-scrapy

check the version of scrapy by,

scrapy -V

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .