I'm trying to install pycurl
on my ubuntu 16.04 LTS
, the module looks installed but it gives me "No module named pycurl" when I try to import it from python.
my python3 version is 3.7.8
pip3 freeze |grep pycurl
tells me that version 7.43 is installedpycurl==7.43.0
I already run successfully :
apt-get update
apt-get install python3-pycurl
python3 -m pip install pycurl
gives me :
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pycurl in /usr/lib/python3/dist-packages (7.43.0)
and python3 -m easy_install pycurl
returns :
WARNING: The easy_install command is deprecated and will be removed in a future version.
Searching for pycurl
Best match: pycurl 7.43.0
Adding pycurl 7.43.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Processing dependencies for pycurl
Finished processing dependencies for pycurl
after all of these I get this when I try to import the module :
>>> import pycurl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pycurl'
Any idea ?
#update
when I try pip3 -v install pycurl --upgrade
I get this error
File "/home/user/.local/lib/python3.7/site-
packages/pip/_internal/utils/subprocess.py", line 242, in
call_subprocess
raise InstallationError(exc_msg)
pip._internal.exceptions.InstallationError: Command errored out with
exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools,
tokenize; sys.argv[0] = '"'"'/tmp/pip-install-
jrmswlpf/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-
jrmswlpf/pycurl/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-0mjigz74/install-record.txt --single-
version-externally-managed --user --prefix= --compile --install-
headers
/home/user/.local/include/python3.7m/pycurl Check the logs for full
command output.
Removed build tracker: '/tmp/pip-req-tracker-w67dg62p'
#update 2 :
I run those commands : sudo apt-get purge python3-pycurl
then pip3 freeze|grep pycurl
returns nothing => pycurl is uninstalled
then, I run pip3 install pycurl
pip3 install pycurl
Defaulting to user installation because normal site-packages is not
writeable
Collecting pycurl
Using cached pycurl-7.43.0.5.tar.gz (216 kB)
Building wheels for collected packages: pycurl
Building wheel for pycurl (setup.py) ... 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-umytzbub/pycurl/setup.py'"'"';
__file__='"'"'/tmp/pip-install-
umytzbub/pycurl/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-31uhzig0
cwd: /tmp/pip-install-umytzbub/pycurl/
Complete output (18 lines):
Using curl-config (libcurl 7.47.0)
Using SSL library: GnuTLS
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/curl
copying python/curl/__init__.py -> build/lib.linux-x86_64-3.7/curl
running build_ext
building 'pycurl' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/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 -fstack-protector-strong -Wformat -
Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -
DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_GNUTLS=1 -
DHAVE_CURL_SSL=1 -I/usr/include/python3.7m -c src/docstrings.c -o
build/temp.linux-x86_64-3.7/src/docstrings.o
In file included from src/docstrings.c:4:0:
src/pycurl.h:5:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for pycurl
Running setup.py clean for pycurl
Failed to build pycurl
DEPRECATION: Could not build wheels for pycurl which do not use PEP
517. pip will fall back to legacy 'setup.py install' for these. pip
21.0 will remove support for this functionality. A possible
replacement is to fix the wheel build issue reported above. You can
find discussion regarding this at
https://github.com/pypa/pip/issues/8368.
Installing collected packages: pycurl
Running setup.py install for pycurl ... 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-umytzbub/pycurl/setup.py'"'"';
__file__='"'"'/tmp/pip-install-
umytzbub/pycurl/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-62fg7a92/install-
record.txt --single-version-externally-managed --user --prefix= --
compile --install-headers
/home/user/.local/include/python3.7m/pycurl
cwd: /tmp/pip-install-umytzbub/pycurl/
Complete output (18 lines):
Using curl-config (libcurl 7.47.0)
Using SSL library: GnuTLS
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/curl
copying python/curl/__init__.py -> build/lib.linux-x86_64-3.7/curl
running build_ext
building 'pycurl' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/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 -fstack-protector-strong -Wformat -
Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -
DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_GNUTLS=1 -
DHAVE_CURL_SSL=1 -I/usr/include/python3.7m -c src/docstrings.c -o
build/temp.linux-x86_64-3.7/src/docstrings.o
In file included from src/docstrings.c:4:0:
src/pycurl.h:5:20: fatal error: Python.h: No such file or directory
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-umytzbub/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-
install-umytzbub/pycurl/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-62fg7a92/install-
record.txt --single-version-externally-managed --user --prefix= --
compile --install-headers
/home/user/.local/include/python3.7m/pycurl Check the logs for full
command output.