在Windows机器上使用pip install grpcio安装grpcio时出现错误。我在这里读到https://github.com/grpc/grpc/issues/17829,这可能是由于setuptools版本错误。我将我的setuptools升级到了最新版本,即41.0.1。仍然出现相同的构建错误。其他任何软件包都不会发生。我尝试在笔记本电脑上重新安装pip和python。我附上我的错误
Building wheels for collected packages: grpcio
Building wheel for grpcio (setup.py) ... error
ERROR: Complete output from command 'c:\python27\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'c:\\users\\s\\appdata\\local\\temp\\pip-install-ge5zhq\\grpcio\\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 'c:\users\s\appdata\local\temp\pip-wheel-txjhlh' --python-tag cp27:
ERROR: Found cython-generated files...
running bdist_wheel
running build
running build_py
running build_project_metadata
creating python_build
creating python_build\lib.win-amd64-2.7
creating python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_auth.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_channel.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_common.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_compression.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_grpcio_metadata.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_interceptor.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_plugin_wrapping.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_server.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\_utilities.py -> python_build\lib.win-amd64-2.7\grpc
copying src\python\grpcio\grpc\__init__.py -> python_build\lib.win-amd64-2.7\grpc
creating python_build\lib.win-amd64-2.7\grpc\beta
copying src\python\grpcio\grpc\beta\implementations.py -> python_build\lib.win-amd64-2.7\grpc\beta
copying src\python\grpcio\grpc\beta\interfaces.py -> python_build\lib.win-amd64-2.7\grpc\beta
copying src\python\grpcio\grpc\beta\utilities.py -> python_build\lib.win-amd64-2.7\grpc\beta
copying src\python\grpcio\grpc\beta\_client_adaptations.py -> python_build\lib.win-amd64-2.7\grpc\beta
copying src\python\grpcio\grpc\beta\_metadata.py -> python_build\lib.win-amd64-2.7\grpc\beta
copying src\python\grpcio\grpc\beta\_server_adaptations.py -> python_build\lib.win-amd64-2.7\grpc\beta
copying src\python\grpcio\grpc\beta\__init__.py -> python_build\lib.win-amd64-2.7\grpc\beta
creating python_build\lib.win-amd64-2.7\grpc\experimental
copying src\python\grpcio\grpc\experimental\gevent.py -> python_build\lib.win-amd64-2.7\grpc\experimental
copying src\python\grpcio\grpc\experimental\session_cache.py -> python_build\lib.win-amd64-2.7\grpc\experimental
copying src\python\grpcio\grpc\experimental\__init__.py -> python_build\lib.win-amd64-2.7\grpc\experimental
creating python_build\lib.win-amd64-2.7\grpc\framework
copying src\python\grpcio\grpc\frame`enter code here`work\__init__.py -> python_build\lib.win-amd64-2.7\grpc\framework
creating python_build\lib.win-amd64-2.7\grpc\_cython
copying src\python\grpcio\grpc\_cython\__init__.py -> python_build\lib.win-amd64-2.7\grpc\_cython
creating python_build\lib.win-amd64-2.7\grpc\framework\common
copying src\python\grpcio\grpc\framework\common\cardinality.py -> python_build\lib.win-amd64-2.7\grpc\framework\common
copying src\python\grpcio\grpc\framework\common\style.py -> python_build\lib.win-amd64-2.7\grpc\framework\common
copying src\python\grpcio\grpc\framework\common\__init__.py -> python_build\lib.win-amd64-2.7\grpc\framework\common
creating python_build\lib.win-amd64-2.7\grpc\framework\foundation
copying src\python\grpcio\grpc\framework\foundation\abandonment.py -> python_build\lib.win-amd64-2.7\grpc\framework\foundation
copying src\python\grpcio\grpc\framework\foundation\callable_util.py -> python_build\lib.win-amd64-2.7\grpc\framework\foundation
copying src\python\grpcio\grpc\framework\foundation\future.py -> python_build\lib.win-amd64-2.7\grpc\framework\foundation
copying src\python\grpcio\grpc\framework\foundation\logging_pool.py -> python_build\lib.win-amd64-2.7\grpc\framework\foundation
copying src\python\grpcio\grpc\framework\foundation\stream.py -> python_build\lib.win-amd64-2.7\grpc\framework\foundation
copying src\python\grpcio\grpc\framework\foundation\stream_util.py -> python_build\lib.win-amd64-2.7\grpc\framework\foundation
copying src\python\grpcio\grpc\framework\foundation\__init__.py -> python_build\lib.win-amd64-2.7\grpc\framework\foundation
creating python_build\lib.win-amd64-2.7\grpc\framework\interfaces
copying src\python\grpcio\grpc\framework\interfaces\__init__.py -> python_build\lib.win-amd64-2.7\grpc\framework\interfaces
creating python_build\lib.win-amd64-2.7\grpc\framework\interfaces\base
copying src\python\grpcio\grpc\framework\interfaces\base\base.py -> python_build\lib.win-amd64-2.7\grpc\framework\interfaces\base
copying src\python\grpcio\grpc\framework\interfaces\base\utilities.py -> python_build\lib.win-amd64-2.7\grpc\framework\interfaces\base
copying src\python\grpcio\grpc\framework\interfaces\base\__init__.py -> python_build\lib.win-amd64-2.7\grpc\framework\interfaces\base
creating python_build\lib.win-amd64-2.7\grpc\framework\interfaces\face
copying src\python\grpcio\grpc\framework\interfaces\face\face.py -> python_build\lib.win-amd64-2.7\grpc\framework\interfaces\face
copying src\python\grpcio\grpc\framework\interfaces\face\utilities.py -> python_build\lib.win-amd64-2.7\grpc\framework\interfaces\face
copying src\python\grpcio\grpc\framework\interfaces\face\__init__.py -> python_build\lib.win-amd64-2.7\grpc\framework\interfaces\face
creating python_build\lib.win-amd64-2.7\grpc\_cython\_cygrpc
copying src\python\grpcio\grpc\_cython\_cygrpc\__init__.py -> python_build\lib.win-amd64-2.7\grpc\_cython\_cygrpc
creating python_build\lib.win-amd64-2.7\grpc\_cython\_credentials
copying src\python\grpcio\grpc\_cython\_credentials\roots.pem -> python_build\lib.win-amd64-2.7\grpc\_cython\_credentials
running build_ext
error: [Error 2] The system cannot find the file specified
----------------------------------------
ERROR: Failed building wheel for grpcio
Running setup.py clean for grpcio
Failed to build grpcio
答案 0 :(得分:33)
首先,升级点子
pip3 install --upgrade pip
然后,更新设置工具:
python3 -m pip install --upgrade setuptools
最后,使用以下命令安装grpcio
:
pip3 install --no-cache-dir --force-reinstall -Iv grpcio==<version_number>
答案 1 :(得分:2)
我在安装包含用于gracio的构建轮的软件包时遇到了使用python 3.7和setuptools是41.0.1的问题。 grpcio(setup.py)的建筑车轮...错误
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
src/python/Gracie/grpc/_cython/cygrpc.cpp:1343:14: fatal error: 'cstdlib' file not found
#include <cstdlib>
^~~~~~~~~
1 warning and 1 error generated.
无法找到解决上述问题的方法,但是 我尝试使用具有相同setuptools 41.0.1的Python 3.6.x的另一个环境。 “安装程序”以某种方式找到了用于gracio的预制轮(即grpcio == 1.11.0),并完成了安装。
答案 2 :(得分:1)
尝试安装
grpcio==1.36.1
它在我的情况下有效。