I am trying to install pyodbc in a virtual environment. The following command line commands shows the steps:
>python3.9 -m venv .venv
>source .venv/bin/activate
>pip install pyodbc
and then I get the following error:
Collecting pyodbc
Using cached pyodbc-4.0.32.tar.gz (280 kB)
Building wheels for collected packages: pyodbc
Building wheel for pyodbc (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/ebp/Documents/studies/docker_test/.venv/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-k9moe3om/pyodbc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-k9moe3om/pyodbc/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-0qe855ng
cwd: /tmp/pip-install-k9moe3om/pyodbc/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for pyodbc
Running setup.py clean for pyodbc
Failed to build pyodbc
Installing collected packages: pyodbc
Running setup.py install for pyodbc ... error
ERROR: Command errored out with exit status 1:
command: /home/ebp/Documents/studies/docker_test/.venv/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-k9moe3om/pyodbc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-k9moe3om/pyodbc/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-kb5_zw4a/install-record.txt --single-version-externally-managed --compile --install-headers /home/ebp/Documents/studies/docker_test/.venv/include/site/python3.9/pyodbc
cwd: /tmp/pip-install-k9moe3om/pyodbc/
Complete output (14 lines):
running install
running build
running build_ext
building 'pyodbc' extension
creating build
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/src
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYODBC_VERSION=4.0.32 -I/home/ebp/Documents/studies/docker_test/.venv/include -I/usr/include/python3.9 -c src/buffer.cpp -o build/temp.linux-x86_64-3.9/src/buffer.o -Wno-write-strings -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/local/include
In file included from src/buffer.cpp:12:
src/pyodbc.h:45:10: fatal error: Python.h: No such file or directory
45 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /home/ebp/Documents/studies/docker_test/.venv/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-k9moe3om/pyodbc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-k9moe3om/pyodbc/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-kb5_zw4a/install-record.txt --single-version-externally-managed --compile --install-headers /home/ebp/Documents/studies/docker_test/.venv/include/site/python3.9/pyodbc Check the logs for full command output.
I am using wsl ubuntu. In my wsl system I have already installed pyodbc with success, but in virtual environment it can't be done. What am I doing wrong?
I solved the problem by installing python3.9-dev on linux:
> sudo apt-get install python3.9-dev
Related
% pip3 install pyaudio
Collecting pyaudio
Using cached PyAudio-0.2.11.tar.gz (37 kB)
Using legacy 'setup.py install' for pyaudio, since package 'wheel' is not installed.
Installing collected packages: pyaudio
Running setup.py install for pyaudio ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/41/jq1tn1b113b6nmbmpqqfxhrr0000gn/T/pip-install-yuqomyva/pyaudio_df9e48fd3dc447b18c59302d7aac4fe2/setup.py'"'"'; file='"'"'/private/var/folders/41/jq1tn1b113b6nmbmpqqfxhrr0000gn/T/pip-install-yuqomyva/pyaudio_df9e48fd3dc447b18c59302d7aac4fe2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/41/jq1tn1b113b6nmbmpqqfxhrr0000gn/T/pip-record-kg79q2az/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/pyaudio
cwd: /private/var/folders/41/jq1tn1b113b6nmbmpqqfxhrr0000gn/T/pip-install-yuqomyva/pyaudio_df9e48fd3dc447b18c59302d7aac4fe2/
Complete output (16 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.9
copying src/pyaudio.py -> build/lib.macosx-10.9-x86_64-3.9
running build_ext
building '_portaudio' extension
creating build/temp.macosx-10.9-x86_64-3.9
creating build/temp.macosx-10.9-x86_64-3.9/src
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DMACOSX=1 -I/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/_portaudiomodule.c -o build/temp.macosx-10.9-x86_64-3.9/src/_portaudiomodule.o
src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
#include "portaudio.h"
^~~~~~~~~~~~~
1 error generated.
error: command '/usr/bin/gcc' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/41/jq1tn1b113b6nmbmpqqfxhrr0000gn/T/pip-install-yuqomyva/pyaudio_df9e48fd3dc447b18c59302d7aac4fe2/setup.py'"'"'; file='"'"'/private/var/folders/41/jq1tn1b113b6nmbmpqqfxhrr0000gn/T/pip-install-yuqomyva/pyaudio_df9e48fd3dc447b18c59302d7aac4fe2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/41/jq1tn1b113b6nmbmpqqfxhrr0000gn/T/pip-record-kg79q2az/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/pyaudio Check the logs for full command output.
Try:
pip install pipwin
And:
pipwin install pyaudio
Hope It Helps :D
I was trying to install PyAudio
The system is macOS Mojave, and version of Python is 3.8
I think pip doesn't have any problem, but some frameworks are collided with pyaudio
here are error message shown.
What should I do?
pip install pyaudio
Collecting pyaudio
Using cached PyAudio-0.2.11.tar.gz (37 kB)
Using legacy 'setup.py install' for pyaudio, since package 'wheel' is not installed.
Installing collected packages: pyaudio
Running setup.py install for pyaudio ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/hq/cp10yz710x51x0qsxlrj5s5m0000gn/T/pip-install-b7gmavn1/pyaudio/setup.py'"'"'; __file__='"'"'/private/var/folders/hq/cp10yz710x51x0qsxlrj5s5m0000gn/T/pip-install-b7gmavn1/pyaudio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/hq/cp10yz710x51x0qsxlrj5s5m0000gn/T/pip-record-zz9o5bbq/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/pyaudio
cwd: /private/var/folders/hq/cp10yz710x51x0qsxlrj5s5m0000gn/T/pip-install-b7gmavn1/pyaudio/
Complete output (16 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.8
copying src/pyaudio.py -> build/lib.macosx-10.9-x86_64-3.8
running build_ext
building '_portaudio' extension
creating build/temp.macosx-10.9-x86_64-3.8
creating build/temp.macosx-10.9-x86_64-3.8/src
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DMACOSX=1 -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/_portaudiomodule.c -o build/temp.macosx-10.9-x86_64-3.8/src/_portaudiomodule.o
src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
#include "portaudio.h"
^~~~~~~~~~~~~
1 error generated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/hq/cp10yz710x51x0qsxlrj5s5m0000gn/T/pip-install-b7gmavn1/pyaudio/setup.py'"'"'; __file__='"'"'/private/var/folders/hq/cp10yz710x51x0qsxlrj5s5m0000gn/T/pip-install-b7gmavn1/pyaudio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/hq/cp10yz710x51x0qsxlrj5s5m0000gn/T/pip-record-zz9o5bbq/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/pyaudio Check the logs for full command output.
Try installing pipwin first using:
pip install pipwin
and then install Pyaudio using pipwin:
pipwin install PyAudio
I was having trouble installing a package (plumed) using pip3.6. Specifically, with the command pip3.6 install --user plumed, I got the following error:
Collecting plumed
Using cached plumed-2.6.1.tar.gz (189 kB)
Building wheels for collected packages: plumed
Building wheel for plumed (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-cnvim96k/plumed/setup.py'"'"'; __file__='"'"'/tmp/pip-install-cnvim96k/plumed/setup.py'"'"';f=getattr(tokenize,
'"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-js3bt49u
cwd: /tmp/pip-install-cnvim96k/plumed/
Complete output (17 lines):
Module name plumed
Version number 2.6.1
using available plumed.cpp file
running bdist_wheel
running build
running build_ext
building 'plumed' extension
creating build
creating build/temp.linux-x86_64-3.6
/home/wei-tse/anaconda3/bin/x86_64-conda_cos6-linux-gnu-cc -DNDEBUG -g -fwrapv -O2 -Wall -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/wei-tse/anaconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/wei-tse/anaconda3/include -fPIC -I./include -I/usr/include/python3.6m -c plumed.cpp -o build/temp.linux-x86_64-3.6/plumed.o -D__PLUMED_HAS_DLOPEN -D__PLUMED_WRAPPER_LINK_RUNTIME=1 -D__PLUMED_WRAPPER_CXX=1 -D__PLUMED_WRAPPER_IMPLEMENTATION=1 -D__PLUMED_WRAPPER_EXTERN=0 -D__PLUMED_WRAPPER_CXX_DEFAULT_INVALID=1
In file included from /usr/include/python3.6m/Python.h:8:0,
from plumed.cpp:31:
/usr/include/python3.6m/pyconfig.h:3:12: fatal error: x86_64-linux-gnu/python3.6m/pyconfig.h: No such file or directory
# include <x86_64-linux-gnu/python3.6m/pyconfig.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command '/home/wei-tse/anaconda3/bin/x86_64-conda_cos6-linux-gnu-cc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for plumed
Running setup.py clean for plumed
Failed to build plumed
Installing collected packages: plumed
Running setup.py install for plumed ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-cnvim96k/plumed/setup.py'"'"'; __file__='"'"'/tmp/pip-install-cnvim96k/plumed/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-5tvrlz45/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/wei-tse/.local/include/python3.6m/plumed
cwd: /tmp/pip-install-cnvim96k/plumed/
Complete output (17 lines):
Module name plumed
Version number 2.6.1
using available plumed.cpp file
running install
running build
running build_ext
building 'plumed' extension
creating build
creating build/temp.linux-x86_64-3.6
/home/wei-tse/anaconda3/bin/x86_64-conda_cos6-linux-gnu-cc -DNDEBUG -g -fwrapv -O2 -Wall -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/wei-tse/anaconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/wei-tse/anaconda3/include -fPIC
-I./include -I/usr/include/python3.6m -c plumed.cpp -o build/temp.linux-x86_64-3.6/plumed.o -D__PLUMED_HAS_DLOPEN -D__PLUMED_WRAPPER_LINK_RUNTIME=1 -D__PLUMED_WRAPPER_CXX=1 -D__PLUMED_WRAPPER_IMPLEMENTATION=1 -D__PLUMED_WRAPPER_EXTERN=0 -D__PLUMED_WRAPPER_CXX_DEFAULT_INVALID=1
In file included from /usr/include/python3.6m/Python.h:8:0,
from plumed.cpp:31:
/usr/include/python3.6m/pyconfig.h:3:12: fatal error: x86_64-linux-gnu/python3.6m/pyconfig.h: No such file or directory
# include <x86_64-linux-gnu/python3.6m/pyconfig.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command '/home/wei-tse/anaconda3/bin/x86_64-conda_cos6-linux-gnu-cc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-cnvim96k/plumed/setup.py'"'"'; __file__='"'"'/tmp/pip-install-cnvim96k/plumed/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-5tvrlz45/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/wei-tse/.local/include/python3.6m/plumed Check the logs for full command output.
I know that there are already a lot of relevant discussions on the forum, but none of the solutions worked for me. I've tried the following solutions:
sudo apt-get install python-dev libxml2-dev libxslt-dev
sudo apt-get install python3.6-dev
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/include/x86_64-linux-gnu/python3.6m/pyconfig.h
The weird thing is that I had pyconfig.h in /usr/include/x86_64-linux-gnu/python3.6m/ but it couldn't be found when I used pip3.6. I was using Ubuntu 18.04, so the systematic pip was associated with Python 3.6.9. I'm wondering if there is any solution that could deal with this problem. Thanks!
For me it turned out an old package wasn't fully installed somewhere. If you get apt-get -f install anywhere in your error messages, just run that, it'll re-install your packages. Not 100% certain it'll work for everyone, but that was my specific problem with this.
I typed: pip install pyaudio
and then it says:
Using cached PyAudio-0.2.11.tar.gz (37 kB)
Using legacy setup.py install for pyaudio, since package 'wheel' is not installed.
Installing collected packages: pyaudio
Running setup.py install for pyaudio ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/wj/x_g39c7n4pn_mrmpq2m35b0c0000gn/T/pip-install-vpovlb7i/pyaudio/setup.py'"'"'; __file__='"'"'/private/var/folders/wj/x_g39c7n4pn_mrmpq2m35b0c0000gn/T/pip-install-vpovlb7i/pyaudio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/wj/x_g39c7n4pn_mrmpq2m35b0c0000gn/T/pip-record-ek_hs7p1/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/pyaudio
cwd: /private/var/folders/wj/x_g39c7n4pn_mrmpq2m35b0c0000gn/T/pip-install-vpovlb7i/pyaudio/
Complete output (16 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.8
copying src/pyaudio.py -> build/lib.macosx-10.9-x86_64-3.8
running build_ext
building '_portaudio' extension
creating build/temp.macosx-10.9-x86_64-3.8
creating build/temp.macosx-10.9-x86_64-3.8/src
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DMACOSX=1 -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/_portaudiomodule.c -o build/temp.macosx-10.9-x86_64-3.8/src/_portaudiomodule.o
src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
#include "portaudio.h"
^~~~~~~~~~~~~
1 error generated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/wj/x_g39c7n4pn_mrmpq2m35b0c0000gn/T/pip-install-vpovlb7i/pyaudio/setup.py'"'"'; __file__='"'"'/private/var/folders/wj/x_g39c7n4pn_mrmpq2m35b0c0000gn/T/pip-install-vpovlb7i/pyaudio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/wj/x_g39c7n4pn_mrmpq2m35b0c0000gn/T/pip-record-ek_hs7p1/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/pyaudio Check the logs for full command output.
WARNING: You are using pip version 20.1.1; however, version 20.2 is available.
You should consider upgrading via the '/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -m pip install --upgrade pip' command.
This is being installed under python3, So I would recommend you to run this under a virtual environment https://help.dreamhost.com/hc/en-us/articles/215489338-Installing-and-using-virtualenv-with-Python-2 , then try trying this back again while venv being activated
This question already has answers here:
fatal error: Python.h: No such file or directory
(35 answers)
Closed 2 years ago.
I am trying to upgrade pycairo package but getting following error:
$ python3 -m pip install -U pycairo
Defaulting to user installation because normal site-packages is not writeable
Collecting pycairo
Using cached pycairo-1.19.1.tar.gz (205 kB)
Installing collected packages: pycairo
Running setup.py install for pycairo ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-21711no1/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/abcde/.local/include/python3.7m/pycairo
cwd: /tmp/pip-install-ho1du2qw/pycairo/
Complete output (19 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/cairo
copying cairo/__init__.py -> build/lib.linux-x86_64-3.7/cairo
copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.7/cairo
copying cairo/py.typed -> build/lib.linux-x86_64-3.7/cairo
running build_ext
building 'cairo._cairo' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/cairo
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCAIRO_VERSION_MAJOR=1 -DPYCAIRO_VERSION_MINOR=19 -DPYCAIRO_VERSION_MICRO=1 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/python3.7m -c cairo/device.c -o build/temp.linux-x86_64-3.7/cairo/device.o -Wall -Warray-bounds -Wcast-align -Wconversion -Wextra -Wformat=2 -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Winline -Wmissing-format-attribute -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-arith -Wreturn-type -Wshadow -Wsign-compare -Wstrict-aliasing -Wundef -Wunused-but-set-variable -Wswitch-default -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-command-line-argument -fno-strict-aliasing -fvisibility=hidden -std=c99
cairo/device.c:30:10: fatal error: Python.h: No such file or directory
#include <Python.h>
^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-21711no1/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/abcde/.local/include/python3.7m/pycairo Check the logs for full command output.
Where is the problem?
File Python.h means you have to install python-dev with C/C++ headers .h because it has to compile some C/C++ code.
On Linux Mint/Ubuntu/Debian it could be one of this command
apt install python-dev
apt install python3-dev
apt install python3.7-dev