“pip install github”失败

问题描述 投票:0回答:2

我无法从 PyPI 安装软件包

github

所以问题是我想用

from github import Github

但是我尝试之后

pip install github
我收到错误:

Building wheels for collected packages: aiohttp
  Building wheel for aiohttp (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for aiohttp (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [100 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-311
      creating build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\abc.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\base_protocol.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\client.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\client_exceptions.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\client_proto.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\client_reqrep.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\client_ws.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\connector.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\cookiejar.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\formdata.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\hdrs.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\helpers.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\http.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\http_exceptions.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\http_parser.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\http_websocket.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\http_writer.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\locks.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\log.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\multipart.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\payload.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\payload_streamer.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\pytest_plugin.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\resolver.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\streams.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\tcp_helpers.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\test_utils.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\tracing.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\typedefs.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_app.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_exceptions.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_fileresponse.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_log.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_middlewares.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_protocol.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_request.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_response.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_routedef.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_runner.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_server.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_urldispatcher.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\web_ws.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\worker.py -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\__init__.py -> build\lib.win-amd64-cpython-311\aiohttp
      running egg_info
      writing aiohttp.egg-info\PKG-INFO
      writing dependency_links to aiohttp.egg-info\dependency_links.txt
      writing requirements to aiohttp.egg-info\requires.txt
      writing top-level names to aiohttp.egg-info\top_level.txt
      reading manifest file 'aiohttp.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching 'aiohttp' anywhere in distribution
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '*.lib' found anywhere in distribution
      warning: no previously-included files matching '*.dll' found anywhere in distribution
      warning: no previously-included files matching '*.a' found anywhere in distribution
      warning: no previously-included files matching '*.obj' found anywhere in distribution
      warning: no previously-included files found matching 'aiohttp\*.html'
      no previously-included directories found matching 'docs\_build'
      adding license file 'LICENSE.txt'
      writing manifest file 'aiohttp.egg-info\SOURCES.txt'
      copying aiohttp\_cparser.pxd -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_find_header.c -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_find_header.h -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_find_header.pxd -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_headers.pxi -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_helpers.c -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_helpers.pyi -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_helpers.pyx -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_http_parser.c -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_http_parser.pyx -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_http_writer.c -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_http_writer.pyx -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_websocket.c -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\_websocket.pyx -> build\lib.win-amd64-cpython-311\aiohttp
      copying aiohttp\py.typed -> build\lib.win-amd64-cpython-311\aiohttp
      creating build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\_cparser.pxd.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\_find_header.pxd.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\_helpers.pyi.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\_helpers.pyx.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\_http_parser.pyx.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\_http_writer.pyx.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\_websocket.pyx.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      copying aiohttp\.hash\hdrs.py.hash -> build\lib.win-amd64-cpython-311\aiohttp\.hash
      running build_ext
      building 'aiohttp._websocket' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for aiohttp
Failed to build aiohttp
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects

我尝试从

python=3.12
降级为
python=3.11
。 由于
github
需要
aiohttp=3.8.2
我也这样做了。 但我仍然遇到同样的错误。

我想使用 Github,并想使用 GitHub 访问令牌一次克隆多个存储库。

我预计降级可以解决问题。

python python-3.x pip github-api
2个回答
1
投票

PyPI 上

github
的发布将其 aiohttp 要求固定为版本 3.8.1(不是您注意到的 3.8.2),但 GitHub 上的主分支已将此要求放宽到
aiohttp>=3.8.1
。因此,请尝试从 GitHub 直接安装,以避免严格的 aiohttp 要求:

python -m pip install git+https://github.com/VarMonke/GitHub-API-Wrapper.git

这样,您就可以使用更新的、更重要的是预构建版本的 aiohttp 安装

github
,从而避免安装 C++ 构建工具并自行构建。

问题背后的可能原因是 aiohttp 版本 3.8.1 和 3.8.2 没有针对 Python 3.11 和 3.12 的预构建版本。通过上述安装,您将获得更新版本的 aiohttp,它确实有这样的构建。


-1
投票

您是否尝试在 https://visualstudio.microsoft.com/visual-cpp-build-tools/ 下载 C++ 构建工具?

看起来这样就可以解决问题了。

© www.soinside.com 2019 - 2024. All rights reserved.