Pip install cffi error

How to Install cffi in Python?

The Python cffi library is among the top 100 Python libraries, with more than 71,638,734 downloads. This article will show you everything you need to get this installed in your Python environment.

How to Install cffi on Windows?

  1. Type «cmd» in the search bar and hit Enter to open the command line.
  2. Type “ pip install cffi ” (without quotes) in the command line and hit Enter again. This installs cffi for your default Python installation.
  3. The previous command may not work if you have both Python versions 2 and 3 on your computer. In this case, try «pip3 install cffi» or “ python -m pip install cffi “.
  4. Wait for the installation to terminate successfully. It is now installed on your Windows machine.

Here’s how to open the command line on a (German) Windows machine:

First, try the following command to install cffi on your system:

Second, if this leads to an error message, try this command to install cffi on your system:

Third, if both do not work, use the following long-form command:

The difference between pip and pip3 is that pip3 is an updated version of pip for Python version 3. Depending on what’s first in the PATH variable, pip will refer to your Python 2 or Python 3 installation—and you cannot know which without checking the environment variables. To resolve this uncertainty, you can use pip3 , which will always refer to your default Python 3 installation.

How to Install cffi on Linux?

You can install cffi on Linux in four steps:

  1. Open your Linux terminal or shell
  2. Type “ pip install cffi ” (without quotes), hit Enter.
  3. If it doesn’t work, try «pip3 install cffi» or “ python -m pip install cffi “.
  4. Wait for the installation to terminate successfully.

The package is now installed on your Linux operating system.

How to Install cffi on macOS?

Similarly, you can install cffi on macOS in four steps:

  1. Open your macOS terminal.
  2. Type “ pip install cffi ” without quotes and hit Enter .
  3. If it doesn’t work, try «pip3 install cffi» or “ python -m pip install cffi “.
  4. Wait for the installation to terminate successfully.

The package is now installed on your macOS.

How to Install cffi in PyCharm?

Given a PyCharm project. How to install the cffi library in your project within a virtual environment or globally? Here’s a solution that always works:

  • Open File > Settings > Project from the PyCharm menu.
  • Select your current project.
  • Click the Python Interpreter tab within your project tab.
  • Click the small + symbol to add a new library to the project.
  • Now type in the library to be installed, in your example «cffi» without quotes, and click Install Package .
  • Wait for the installation to terminate and close all pop-ups.

Here’s the general package installation process as a short animated video—it works analogously for cffi if you type in “cffi” in the search field instead:

Make sure to select only “cffi” because there may be other packages that are not required but also contain the same term (false positives):

How to Install cffi in a Jupyter Notebook?

To install any package in a Jupyter notebook, you can prefix the !pip install my_package statement with the exclamation mark «!» . This works for the cffi library too:

This automatically installs the cffi library when the cell is first executed.

How to Resolve ModuleNotFoundError: No module named ‘cffi’?

Say you try to import the cffi package into your Python script without installing it first:

Because you haven’t installed the package, Python raises a ModuleNotFoundError: No module named ‘cffi’ .

To fix the error, install the cffi library using “ pip install cffi ” or “ pip3 install cffi ” in your operating system’s shell or terminal first.

See above for the different ways to install cffi in your environment.

Improve Your Python Skills

If you want to keep improving your Python skills and learn about new and exciting technologies such as Blockchain development, machine learning, and data science, check out the Finxter free email academy with cheat sheets, regular tutorials, and programming puzzles.

Join us, it’s fun! 🙂

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.

To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.

Читайте также:  Proxy connect error 403

His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.


Mysterious pip install failure with updated packages #117


I get a very strange error when trying to install. The error is:

ModuleNotFoundError: No module named ‘cffi.setuptools_ext’

This is what I do:

I’m quite confident I’m using the latest of everything, but it seem that something is missing or perhaps interfering. Please see links below for more details of my installation.

The text was updated successfully, but these errors were encountered:

Your problem is for sure in cffi. There is a setuptools_ext module in cffi, and if it’s not available on your system then there’s something wrong with your cffi installation.

Reinstalling cffi will probably solve your problem. If you want to be sure, you can call

and check that the setuptools_ext.py in this folder is missing.

Yep, something definitely not right:

I’m re-installing all the stuff and see if this resolves it.

Today I updated everything and managed to re-install cffi properly with:

when I try to install cairocffi i got:

Today I updated everything and managed to re-install cffi properly with:

Saved my life, thank you very much.


© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.


Installation and Status¶

Quick installation for CPython (cffi is distributed with PyPy):

  • pip install cffi
  • or get the source code via the Python Package Index.

In more details:

This code has been developed on Linux, but should work on any POSIX platform as well as on Windows 32 and 64. (It relies occasionally on libffi, so it depends on libffi being bug-free; this may not be fully the case on some of the more exotic platforms.)

CFFI supports CPython 2.7, 3.x (tested with 3.6 to 3.9); and is distributed with PyPy (CFFI 1.0 is distributed with and requires PyPy 2.6).

The core speed of CFFI is better than ctypes, with import times being either lower if you use the post-1.0 features, or much higher if you don’t. The wrapper Python code you typically need to write around the raw CFFI interface slows things down on CPython, but not unreasonably so. On PyPy, this wrapper code has a minimal impact thanks to the JIT compiler. This makes CFFI the recommended way to interface with C libraries on PyPy.

  • CPython 2.7 or 3.x, or PyPy (PyPy 2.0 for the earliest versions of CFFI; or PyPy 2.6 for CFFI 1.0).
  • in some cases you need to be able to compile C extension modules. On non-Windows platforms, this usually means installing the package python-dev . Refer to the appropriate docs for your OS.
  • on CPython, on non-Windows platforms, you also need to install libffi-dev in order to compile CFFI itself.
  • pycparser >= 2.06: https://github.com/eliben/pycparser (automatically tracked by pip install cffi ).
  • pytest is needed to run the tests of CFFI itself.

Download and Installation:

Checksums of the “source” package version 1.15.1:

  • MD5: f493860a6e98cd0c4178149568a6b4f6
  • SHA1: c42a46cd11f6153f299cf10e9c236e8b2a143c21
  • SHA256: d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9

Or grab the most current version from the Heptapod page: hg clone https://foss.heptapod.net/pypy/cffi

python setup.py install or python setup_base.py install (should work out of the box on Linux or Windows; see below for MacOS X.)

running the tests: pytest c/ testing/ (if you didn’t install cffi yet, you need first python setup_base.py build_ext -f -i )

  • The demo directory contains a number of small and large demos of using cffi .
  • The documentation below might be sketchy on details; for now the ultimate reference is given by the tests, notably testing/cffi1/test_verify1.py and testing/cffi0/backend_tests.py.

Platform-specific instructions¶

libffi is notoriously messy to install and use — to the point that CPython includes its own copy to avoid relying on external packages. CFFI does the same for Windows, but not for other platforms (which should have their own working libffi’s). Modern Linuxes work out of the box thanks to pkg-config . Here are some (user-supplied) instructions for other platforms.

MacOS X¶

Homebrew (Thanks David Griffin and Mark Keller for this)

  1. Install homebrew: http://brew.sh
  2. Run the following commands in a terminal

(the —no-binary cffi might be needed or not.)

Alternatively, on OS/X 10.6 (Thanks Juraj Sukop for this)

For building libffi you can use the default install path, but then, in setup.py you need to change:

Читайте также:  Error 1500 another installation is in progress что это

Then running python setup.py build complains about “fatal error: error writing to -: Broken pipe”, which can be fixed by running:

Windows (32/64-bit)В¶

Win32 and Win64 work and are tested at least each official release.

The recommended C compiler compatible with Python 2.7 is this one: http://www.microsoft.com/en-us/download/details.aspx?id=44266 There is a known problem with distutils on Python 2.7, as explained in https://bugs.python.org/issue23246, and the same problem applies whenever you want to run compile() to build a dll with this specific compiler suite download. import setuptools might help, but YMMV

Linux and OS/X: UCS2 versus UCS4В¶

This is about getting an ImportError about _cffi_backend.so with a message like Symbol not found: _PyUnicodeUCS2_AsASCIIString . This error occurs in Python 2 as soon as you mix “ucs2” and “ucs4” builds of Python. It means that you are now running a Python compiled with “ucs4”, but the extension module _cffi_backend.so was compiled by a different Python: one that was running “ucs2”. (If the opposite problem occurs, you get an error about _PyUnicodeUCS4_AsASCIIString instead.)

More generally, the solution that should always work is to download the sources of CFFI (instead of a prebuilt binary) and make sure that you build it with the same version of Python than the one that will use it. For example, with virtualenv:

/venv/bin/python setup.py build —force # forcing a rebuild to make sure

/venv/bin/python setup.py install

This will compile and install CFFI in this virtualenv, using the Python from this virtualenv.


You need to make sure you have an up-to-date version of libffi, which fixes some bugs.

© Copyright 2012-2018, Armin Rigo, Maciej Fijalkowski Revision 78c880fa3e16 .


How To Solve Error: legacy-install-failure?

Python provides you with a package installer called ‘pip.’ ‘Pip’ allows you to write a line of code to install packages and manage them. Although sometimes, when you are installing some packages, you might get an ‘error: legacy-install-failure.’ For example, if you are trying to install the gensim package in python. To know more about ‘pip’ check out this post.

Solving ‘ Error: legacy-install-failure’

In this article, we will discuss how we can solve this error.

Solve error: legacy-install-failure For Gensim

Pip is a package installer and manager, and the wheel is a way that pip prefers to install packages because the wheel allows fast and efficient installations and are smaller in comparison to eggs. Hence upgrading wheels might also solve the problem of ‘error: legacy-install-failure.’ The setuptools enhance the over-installation by enhancing the python standard library distribution utilities. Therefore if you update these modules, it might solve your error because this error can also arise if one of these modules is not up-to-date. Let us see how we can upgrade these modules.

  • First, update your pip installer as shown below.
  • Then upgrade your wheel by using:
  • Then finally upgrade the setuptools.
  • And then again try to install the package which was throwing error in the first place.

Solve error: legacy-install-failure In Pandas

Pandas is an open-source library in python which allows users to perform high-level data manipulation. It is one of the most important libraries in python in the sense of data structure programming and data analysis because it provides flexible, fast and expressive data structures. However, sometimes when you try to install this library using pip, you can get an ‘error: legacy-install-failure,’ which can prevent us from using this very important library. Let us see how we can solve this error in python.

To solve this problem, you need to install ‘pipwin’ because it may happen that the ‘pandas’ wheel might not support the python version you are working on; therefore, first, install ‘pipwin’.

And further, when you install ‘pipwin,’ install ‘pandas’ using ‘pipwin.’

This should probably solve the ‘error: legacy-install-failure’ and allow you to install the pandas library and use it.

Solve error: legacy-install-failure For Basemap

Basemap is a tool in python that provides you to create maps in a very easy and simple way. It is an extension of the ‘ matplotlib ‘ library; therefore, it contains all the features for carrying out data visualization. It further adds geographical projections and some other additional data sets in order to enable plotting coastlines, countries, states, boundaries and etc., directly from the library. Similarly, when you try to install this library through ‘pip,’ you might face a Solve ‘ error: legacy-install-failure’. We will discuss how we can solve this error for the basemap library.

Solving For Windows Operating System

If you are using Windows operating system and encounter this error you need to follow some steps. The steps are as given below:

Читайте также:  Error downloading requested files timeout was reached


  • You will be directed to the file directory. If you’re using python 3.10.x, download the file named ‘basemap‑1.3.2‑cp310‑cp310‑win_amd64.whl
  • Now go to this wheel file and run the following command:
  • Doing this should solve the ‘error: legacy-install-failure’ error.

    Solving For MAC Operating System

    If you are using MAC Operating System and encounter this error, you need to follow some steps. The steps are as given below:

    • First, make sure you install all the packages as shown below:
    • Then you have to add GEOS_DIR = “/ user / local / Cellar / geos / 3.10.2 /” to your .bash profile and reload it via: source

    /.bash_profile. You can do that by :

    • Further, go to the basemap directory from the path: basemap/packages/ basemap. And finally, run the install code from that directory.

    This should solve the ‘error: legacy-install-failure’ error.

    Solving For Google Colab

    To solve this error in google colab, you need to run the commands given below, and doing that should solve the ‘error: legacy-install-failure’ error.

    Solve error: legacy-install-failure For MySQL

    MySQL provides services for handling and managing databases. When you connect your python application to an active server, you can manage all your database using MySQL. Although when installing using an ‘Error: legacy-install-failure’ error might occur. It can display something like this.

    To solve this following error, you will need to follow the steps given below:

    • First, run the commands given below
    • Further, make some changes in the settings file if you are using some framework like Django or any other. To make this change run these commands.

    Further, install all other dependencies in the env/lib/python3.8/site-packages/django/db/backends/mysql/base.py directory. These dependencies can be installed like:

    • Now try to install MySQL again, as following these steps should solve the error.

    Solve error: legacy-install-failure For Wxpython

    Wxpython is a cross-platform Graphical User Interface toolkit for python language. It enables the users to program independent and robust code, which provides a very high graphical user interface very easily and quite simply. This library, like many other libraries, is open source. Although sometimes, while installing ‘wxPython,’ you might face an ‘error: legacy-install-failure’ error.

    This error might occur because you might be using a python version that is not compatible with ‘wxPython.’ Therefore the easiest solution is to downgrade your python version to 3.9.13 because the last version of ‘wxPython’ came before python 3.10. There might be an alternative solution to this, but right now, this is the easiest solution.

    Solve error: legacy-install-failure For Psycopg2-binary

    To solve this error, you have to follow some steps. You can solve this problem by upgrading some packages.

    This code will upgrade some outdated packages and might solve the problem.

    Solve Error legacy-install-failure For Cffi

    When you are programming on Django, you might get an error while installing libraries. You can solve this error by the following code.

    Solve error: legacy-install-failure For Dlib

    You can also get an error while installing the ‘dlib’ library through pip. To solve this error, try to install the library from scratch by following the steps.

    • First, install ‘anaconda.’
    • Further activate the virtual environment through a command prompt.
    • Install ‘opencv’ using pip.
    • Install ‘dlib’ using pip.

    This will eventually solve your error.

    Solve Error legacy-install-failure For Fbprophet

    You can encounter an error while installing Facebook prophet using pip. This error occurs because you might not have installed dependencies for the wheel to be installed. You can solve this error by installing all the dependencies and then installing the ‘fbprophet’ using pip.

    Solve error: legacy-install-failure For Horovod

    When you are trying to install ‘horvord’ with ‘PyTorch,’ you might encounter an error of sort ‘error: legacy-install-failure’.

    This error occurs because an older version of ‘horovord’ than 0.24.0 is not compatible with PyTorch. Therefore you can solve this error by upgrading ‘horovord’ to newer versions.

    FAQs on Error: legacy-install-failure

    There are many ways you can solve this error, and we have discussed some of them in this article. You can follow those solutions to solve this error depending upon the library you want to install.

    You can upgrade setuptool with pip using the following command:
    pip install — upgrade setuptools

    You can pip install pandas from PyPI.


    Finally conclude, we can say that we have discussed various methods in this article to solve the ‘error: legacy-install-failure’ error which occurs for different libraries and modules. You can use any of the methods according to your requirements and according to the library or modules, you want to install for your program.


    Оцените статью