Installing PycURL on Windows (2025 version)
This is an updated version to this older post. The unoffical binaries linked in the older post are no longer available.
I recently attempted to install PycURL
library on my Windows 10 Python installation, with various challenges.
Running the usual pip install pycurl
command gave me the following output:
> pip install pycurl
Collecting pycurl
Using cached pycurl-7.45.1.tar.gz (233 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
╰─> [5 lines of output]
if LooseVersion(distutils.__version__) > LooseVersion("1.0.1"):
if LooseVersion(distutils.__version__) < LooseVersion("1.0.3"):
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Searching the web led me to these installation instructions: There are currently no official binary Windows packages. You can build PycURL from source or use third-party binary packages.
Searching a little bit more on the web for pycurl binary Windows packages led me to this GitHub thread, linking to these CI artefacts.
Find the the appropriate pycurl
release version, and then appropriate python
version for you. At the time of writing pycurl 7.45.4
is the latest version, and I’m running python 3.9
in my current environment. A .zip
file containing a .whl
file is downloaded.
Install using pip install «whl-filepath»
C:\Temp>pip install pycurl-7.45.4-cp39-cp39-win_amd64.whl
Defaulting to user installation because normal site-packages is not writeable
Processing c:\temp\pycurl-7.45.4-cp39-cp39-win_amd64.whl
Installing collected packages: pycurl
Successfully installed pycurl-7.45.4
If you get the following error, you have the wrong version for your environment:
C:\Temp>pip install pycurl-7.45.4-cp312-cp312-win_amd64.whl
ERROR: pycurl-7.45.4-cp312-cp312-win_amd64.whl is not a supported wheel on this platform.
A solution to this issue may be found in this stackoverflow thread:
> pip debug --verbose
WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
pip version: pip 22.3.1 from /.../
/.../
Compatible tags: 36
cp310-cp310-win_amd64
cp310-abi3-win_amd64
cp310-none-win_amd64
cp39-abi3-win_amd64
cp38-abi3-win_amd64
cp37-abi3-win_amd64
cp36-abi3-win_amd64
cp35-abi3-win_amd64
cp34-abi3-win_amd64
cp33-abi3-win_amd64
cp32-abi3-win_amd64
py310-none-win_amd64
/.../