MacOS解决安装pycurl的问题 no such file or directory: ‘/usr/lib/libcurl.@libext@‘

背景

  • 芯片:MacBook Pro M3
  • Mac OS: 14.1
  • Python 2.7
  • pip==20.3.4

执行pip install pycurl==7.19.0总是报错,例如:

Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting pycurl==7.19.0
  Downloading http://mirrors.aliyun.com/pypi/packages/11/73/abcfbbb6e1dd7087fa53042c301c056c11264e8a737a4688f834162d731e/pycurl-7.19.0.tar.gz (70 kB)
     |████████████████████████████████| 70 kB 622 kB/s
Building wheels for collected packages: pycurl
  Building wheel for pycurl (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/skyler/Documents/py-env/venv2.7/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/pycurl/setup.py'"'"'; __file__='"'"'/private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/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 /private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-wheel-s5C8B2
       cwd: /private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/pycurl/
  Complete output (25 lines):
  Using curl-config (libcurl 8.1.2)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.9-x86_64-2.7
  creating build/lib.macosx-10.9-x86_64-2.7/curl
  copying python/curl/__init__.py -> build/lib.macosx-10.9-x86_64-2.7/curl
  running build_ext
  building 'pycurl' extension
  creating build/temp.macosx-10.9-x86_64-2.7
  creating build/temp.macosx-10.9-x86_64-2.7/src
  gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -g -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DHAVE_CURL_SSL=1 -I/Users/skyler/Documents/py-env/venv2.7/include/python2.7 -c src/pycurl.c -o build/temp.macosx-10.9-x86_64-2.7/src/pycurl.o
  src/pycurl.c:85:4: warning: "libcurl was compiled with SSL support, but configure could not determine which "    "library was used; thus no SSL crypto locking callbacks will be set, which may "    "cause random crashes on SSL requests" [-W#warnings]
  #  warning \
     ^
  src/pycurl.c:2351:9: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
      int ret;
          ^
  2 warnings generated.
  gcc -bundle -undefined dynamic_lookup -arch x86_64 -g build/temp.macosx-10.9-x86_64-2.7/src/pycurl.o -lcurl -o build/lib.macosx-10.9-x86_64-2.7/pycurl.so /usr/lib/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@
  clang: error: no such file or directory: '/usr/lib/libcurl.@libext@'
  clang: error: no such file or directory: '@LDFLAGS@'
  clang: error: no such file or directory: '@LIBCURL_LIBS@'
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for pycurl
  Running setup.py clean for pycurl
Failed to build pycurl
Installing collected packages: pycurl
    Running setup.py install for pycurl ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/skyler/Documents/py-env/venv2.7/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/pycurl/setup.py'"'"'; __file__='"'"'/private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/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 /private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-record-x0_TkQ/install-record.txt --single-version-externally-managed --compile --install-headers /Users/skyler/Documents/py-env/venv2.7/include/site/python2.7/pycurl
         cwd: /private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/pycurl/
    Complete output (25 lines):
    Using curl-config (libcurl 8.1.2)
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.9-x86_64-2.7
    creating build/lib.macosx-10.9-x86_64-2.7/curl
    copying python/curl/__init__.py -> build/lib.macosx-10.9-x86_64-2.7/curl
    running build_ext
    building 'pycurl' extension
    creating build/temp.macosx-10.9-x86_64-2.7
    creating build/temp.macosx-10.9-x86_64-2.7/src
    gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -g -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DHAVE_CURL_SSL=1 -I/Users/skyler/Documents/py-env/venv2.7/include/python2.7 -c src/pycurl.c -o build/temp.macosx-10.9-x86_64-2.7/src/pycurl.o
    src/pycurl.c:85:4: warning: "libcurl was compiled with SSL support, but configure could not determine which "    "library was used; thus no SSL crypto locking callbacks will be set, which may "    "cause random crashes on SSL requests" [-W#warnings]
    #  warning \
       ^
    src/pycurl.c:2351:9: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
        int ret;
            ^
    2 warnings generated.
    gcc -bundle -undefined dynamic_lookup -arch x86_64 -g build/temp.macosx-10.9-x86_64-2.7/src/pycurl.o -lcurl -o build/lib.macosx-10.9-x86_64-2.7/pycurl.so /usr/lib/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@
    clang: error: no such file or directory: '/usr/lib/libcurl.@libext@'
    clang: error: no such file or directory: '@LDFLAGS@'
    clang: error: no such file or directory: '@LIBCURL_LIBS@'
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/skyler/Documents/py-env/venv2.7/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/pycurl/setup.py'"'"'; __file__='"'"'/private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-install-vkv4WA/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 /private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-record-x0_TkQ/install-record.txt --single-version-externally-managed --compile --install-headers /Users/skyler/Documents/py-env/venv2.7/include/site/python2.7/pycurl Check the logs for full command output.

解决方法

执行 brew install curl 。 老版本可以安装curl-openssl (Formula curl-openssl was renamed to curl.)

export PATH="$(brew --prefix curl)/bin:$PATH"
export LDFLAGS="-L$(brew --prefix curl)/lib"
export CPPFLAGS="-I$(brew --prefix curl)/include"

这样之后可以安装成功

pip install --no-cache-dir pycurl==7.19.0

Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting pycurl==7.19.0
  Downloading http://mirrors.aliyun.com/pypi/packages/11/73/abcfbbb6e1dd7087fa53042c301c056c11264e8a737a4688f834162d731e/pycurl-7.19.0.tar.gz (70 kB)
     |████████████████████████████████| 70 kB 391 kB/s
Building wheels for collected packages: pycurl
  Building wheel for pycurl (setup.py) ... done
  Created wheel for pycurl: filename=pycurl-7.19.0-cp27-cp27m-macosx_10_9_x86_64.whl size=109152 sha256=4f3f73b5d53af44bd81bcb1819b1f2bc7154807de263146c5ac4cf249a81395f
  Stored in directory: /private/var/folders/90/2z2_gp3s4z737mq6fyxsw6g80000gn/T/pip-ephem-wheel-cache-zNstBM/wheels/10/09/3a/dec6320ee0fa59e8ecb83edf2b5fba673031c6ec2df31e7344
Successfully built pycurl
Installing collected packages: pycurl
Successfully installed pycurl-7.19.0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值