Error while installing scrapy

匿名 (未验证) 提交于 2019-12-03 03:06:01

问题:

I am trying to install scrapy, it gives the following error:

Downloading/unpacking cryptography>=0.2.1 (from pyOpenSSL->Scrapy)   Running 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     compilation terminated.     Traceback (most recent call last):       File "<string>", line 14, in <module>       File "/home/nilesh/build/cryptography/setup.py", line 174, in <module>         "test": PyTest,       File "/usr/lib/python2.7/distutils/core.py", line 112, in setup         _setup_distribution = dist = klass(attrs)       File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 221, in __init__         self.fetch_build_eggs(attrs.pop('setup_requires'))       File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 245, in fetch_build_eggs         parse_requirements(requires), installer=self.fetch_build_egg       File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 576, in resolve         dist = best[req.key] = env.best_match(req, self, installer)       File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 821, in best_match         return self.obtain(req, installer) # try and download/install       File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 833, in obtain         return installer(requirement)       File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 294, in fetch_build_egg         return cmd.easy_install(req)       File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 608, in easy_install         return self.install_item(spec, dist.location, tmpdir, deps)       File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 638, in install_item         dists = self.install_eggs(spec, download, tmpdir)       File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 828, in install_eggs         return self.build_and_install(setup_script, setup_base)       File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1105, in build_and_install         self.run_setup(setup_script, setup_base, args)       File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1096, in run_setup         raise DistutilsError("Setup script exited with %s" % (v.args[0],))     distutils.errors.DistutilsError: Setup script exited with error: command '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  compilation terminated.  Traceback (most recent call last):    File "<string>", line 14, in <module>    File "/home/nilesh/build/cryptography/setup.py", line 174, in <module>      "test": PyTest,    File "/usr/lib/python2.7/distutils/core.py", line 112, in setup      _setup_distribution = dist = klass(attrs)    File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 221, in __init__      self.fetch_build_eggs(attrs.pop('setup_requires'))    File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 245, in fetch_build_eggs      parse_requirements(requires), installer=self.fetch_build_egg    File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 576, in resolve      dist = best[req.key] = env.best_match(req, self, installer)    File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 821, in best_match      return self.obtain(req, installer) # try and download/install    File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 833, in obtain      return installer(requirement)    File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 294, in fetch_build_egg      return cmd.easy_install(req)    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 608, in easy_install      return self.install_item(spec, dist.location, tmpdir, deps)    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 638, in install_item      dists = self.install_eggs(spec, download, tmpdir)    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 828, in install_eggs      return self.build_and_install(setup_script, setup_base)    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1105, in build_and_install      self.run_setup(setup_script, setup_base, args)    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1096, in run_setup      raise DistutilsError("Setup script exited with %s" % (v.args[0],))  distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1 

Can you please help me in solving the error.

回答1:

I faced the same problem. I installed libffi-dev with the following command

sudo apt-get install  libffi-dev  

After that, I installed scrapy. There was no issue.



回答2:

I have gotten this error in Ubuntu installing cryptography with pip. Installing libffi-dev fixed it for me. If that doesn't work, you may also need to install libssl-dev. What operating system are you using?



回答3:

In CentOS (or Amazon Linux)

sudo yum install -y libffi libffi-devel

is useful for me



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!