问题描述

Pyspider 在 Windows 系统上直接通过 pip install pyspider 安装报错:

 ERROR: Command errored out with exit status 10:
     command: 'C:\ProgramData\Miniconda3\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\87897\\AppData\\Local\\Temp\\pip-install-xihyzbcc\\pycurl_82ca8aa9b71a43bd9399542f724d2655\\setup.py'"'"'; __file__='"'"'C:\\Users\\87897\\AppData\\Local\\Temp\\pip-install-xihyzbcc\\pycurl_82ca8aa9b71a43bd9399542f724d2655\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\87897\AppData\Local\Temp\pip-pip-egg-info-8uato2i0'
         cwd: C:\Users\87897\AppData\Local\Temp\pip-install-xihyzbcc\pycurl_82ca8aa9b71a43bd9399542f724d2655\
    Complete output (5 lines):
    C:\Users\87897\AppData\Local\Temp\pip-install-xihyzbcc\pycurl_82ca8aa9b71a43bd9399542f724d2655\setup.py:957: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
      if LooseVersion(distutils.__version__) > LooseVersion("1.0.1"):
    C:\Users\87897\AppData\Local\Temp\pip-install-xihyzbcc\pycurl_82ca8aa9b71a43bd9399542f724d2655\setup.py:959: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
      if LooseVersion(distutils.__version__) < LooseVersion("1.0.3"):
    Please specify --curl-dir=/path/to/built/libcurl
ERROR: Cannot install pyspider==0.3.0, pyspider==0.3.1, pyspider==0.3.10, pyspider==0.3.2, pyspider==0.3.3, pyspider==0.3.4, pyspider==0.3.5, pyspider==0.3.6, pyspider==0.3.7, pyspider==0.3.8 and pyspider==0.3.9 because these package versions have conflicting dependencies.

The conflict is caused by:
    pyspider 0.3.10 depends on pycurl
    pyspider 0.3.9 depends on pycurl
    pyspider 0.3.8 depends on pycurl
    pyspider 0.3.7 depends on pycurl
    pyspider 0.3.6 depends on pycurl
    pyspider 0.3.5 depends on pycurl
    pyspider 0.3.4 depends on pycurl
    pyspider 0.3.3 depends on pycurl
    pyspider 0.3.2 depends on pycurl
    pyspider 0.3.1 depends on pycurl>=7.19
    pyspider 0.3.0 depends on pycurl>=7.19

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

解决方案

先安装 pycurl,从这里下载编译好的版本
在这里插入图片描述

  • 7.45.1:版本号
  • cp39:适用于 Python 3.9
  • win_amd64:Windows 64 位操作系统
  • win32:Windows 32 位操作系统

下载完成后,通过 pip install 安装

pip install pycurl‑7.45.1‑cp39‑cp39‑win_amd64.whl

最后,使用 pip install 直接安装 pyspider 就不会报错了

pip install spider
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐