安装pycurl 7.19.0时出错

时间:2016-06-07 02:08:17

标签: python ubuntu installation pip pycurl

我需要安装此特定版本(7.19.0)pycurl。

当我尝试使用此命令安装时:

  

pip install pycurl == 7.19.0

我收到此错误。

Failed building wheel for pycurl   Running setup.py clean for pycurl Failed to build pycurl Installing collected packages: pycurl

..... // MULTIPLE LINES

 build/temp.linux-x86_64-2.7/src/pycurl.o: na função `initpycurl':
    /tmp/pip-build-4Q4V7Q/pycurl/src/pycurl.c:3904: referência indefinida para `PyEval_InitThreads'
    collect2: error: ld returned 1 exit status
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ---------------------------------------- Command "/home/user/.virtualenvs/myenv/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-4Q4V7Q/pycurl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-UlYKto-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/user/.virtualenvs/myenv/include/site/python2.7/pycurl" failed with error code 1 in /tmp/pip-build-4Q4V7Q/pycurl/

如何安装此特定版本?

我正在使用Ubuntu 16。

谢谢!

2 个答案:

答案 0 :(得分:14)

在环境中运行:

apt-cache depends python-pycurl

它将输出类似于:

的内容
  Depends: python
  Depends: python
  Depends: <python:any>
    python
  Depends: libc6
  Depends: libcurl3-gnutls
  Suggests: libcurl4-gnutls-dev
  Suggests: python-pycurl-dbg
  Suggests: python-pycurl-doc

安装libcurl4-gnutls-dev:

sudo apt-get install libcurl4-gnutls-dev

立即检查是否可以在env:

中安装pycurl
pip install pycurl

如果它不起作用并抛出错误&#34;无法创建轮&#34;或类似的进一步:

apt-cache search gnutl | grep dev

输出结果为:

libcurl4-gnutls-dev - development files and documentation for libcurl (GnuTLS flavour)
libgnutls-dev - GNU TLS library - development files
libgnutls28-dev - dummy transitional package for GNU TLS library - development files
libneon27-gnutls-dev - Header and static library files for libneon27 (GnuTLS enabled)
libsoup-gnome2.4-dev - HTTP library implementation in C -- GNOME support development files

在我的情况下,安装后:

sudo apt-get install libgnutls-dev

我能够在virtualenv中安装PyCurl

答案 1 :(得分:2)

我遇到了同样的错误,无法在Ubuntu 16.04上找到安装pycurl==7.19.0的方法。我切换到pycurl==7.43.0并将pip安装得很好。