Search code examples
pythonpip

Installation fails when installing fastnumbers


I am trying to install a python library that depends on fastnumbers 3.0.0, but when trying to install it, I get the following:

warnings.warn(
      running build
      running build_ext
      creating build
      creating build/temp.macosx-11-x86_64-3.9
      creating build/temp.macosx-11-x86_64-3.9/src
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -stdlib=libc++ -I/private/var/folders/_d/kht28yq15hjbm17zkr9_zhkh0000gp/T/pip-install-p7m6zg86/fastnumbers_538a0b1c68c844a0a91900d614d59f53/include -I/Users/carlos/ide-mx-decision-fraud/env/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/fastnumbers.c -o build/temp.macosx-11-x86_64-3.9/src/fastnumbers.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -stdlib=libc++ -I/private/var/folders/_d/kht28yq15hjbm17zkr9_zhkh0000gp/T/pip-install-p7m6zg86/fastnumbers_538a0b1c68c844a0a91900d614d59f53/include -I/Users/carlos/ide-mx-decision-fraud/env/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/numbers.c -o build/temp.macosx-11-x86_64-3.9/src/numbers.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -stdlib=libc++ -I/private/var/folders/_d/kht28yq15hjbm17zkr9_zhkh0000gp/T/pip-install-p7m6zg86/fastnumbers_538a0b1c68c844a0a91900d614d59f53/include -I/Users/carlos/ide-mx-decision-fraud/env/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/objects.c -o build/temp.macosx-11-x86_64-3.9/src/objects.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -stdlib=libc++ -I/private/var/folders/_d/kht28yq15hjbm17zkr9_zhkh0000gp/T/pip-install-p7m6zg86/fastnumbers_538a0b1c68c844a0a91900d614d59f53/include -I/Users/carlos/ide-mx-decision-fraud/env/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/parsing.c -o build/temp.macosx-11-x86_64-3.9/src/parsing.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -stdlib=libc++ -I/private/var/folders/_d/kht28yq15hjbm17zkr9_zhkh0000gp/T/pip-install-p7m6zg86/fastnumbers_538a0b1c68c844a0a91900d614d59f53/include -I/Users/carlos/ide-mx-decision-fraud/env/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/strings.c -o build/temp.macosx-11-x86_64-3.9/src/strings.o
      src/strings.c:115:20: error: implicit declaration of function '_Py_dg_stdnan' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                  return PyFloat_from_NaN(sign < 0);
                         ^
      /private/var/folders/_d/kht28yq15hjbm17zkr9_zhkh0000gp/T/pip-install-p7m6zg86/fastnumbers_538a0b1c68c844a0a91900d614d59f53/include/fastnumbers/numbers.h:24:55: note: expanded from macro 'PyFloat_from_NaN'
      #define PyFloat_from_NaN(negative) PyFloat_FromDouble(_Py_dg_stdnan(negative));
                                                            ^
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.

I am using a mac with big sur and python 3.9.

I already tried exporting the variables as is stated in this other question but it didn't solve my issue


Solution

  • This is compatibility problem with Python 3.9. It was reported and fixed in Nov 2020. Upgrade to fastnumbers 3.1.0 or 3.2.1.

    If you cannot upgrade downgrade to Python 3.8.