繁体   English   中英

如何在带有 M1 的 MacOS 13 上安装 grpcio?

[英]How to install grpcio on MacOS 13 with M1?

我正在尝试在带有M1 ProMacOS v13.0上使用pipPython v3.8.13安装grpcio v1.47.0 ,但它失败并出现以下错误:

clang -w -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I /opt/homebrew/opt/openssl/include -D_WIN32_WINNT=1536 -DGRPC_XDS_USER_AGENT_NAME_SUFFIX=\"Python\" -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX=\"1.47.0\" -DOPENSSL_NO_ASM=1 -DGPR_BACKWARDS_COMPATIBILITY_MODE=1 -DHAVE_CONFIG_H=1 -DGRPC_ENABLE_FORK_SUPPORT=1 "-DPyMODINIT_FUNC=extern \"C\" __attribute__((visibility (\"default\"))) PyObject*" -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 -Isrc/python/grpcio -Iinclude -I. -Ithird_party/abseil-cpp -Ithird_party/address_sorting/include -Ithird_party/cares/cares/include -Ithird_party/cares -Ithird_party/cares/cares -Ithird_party/cares/config_darwin -Ithird_party/re2 -I/usr/include/openssl -Ithird_party/upb -Isrc/core/ext/upb-generated -Isrc/core/ext/upbdefs-generated -Ithird_party/xxhash -I/usr/include -I/Users/denis/Library/Caches/pypoetry/virtualenvs/auth-PxTXoSf9-py3.8/include -I/Users/denis/.pyenv/versions/3.8.13/include/python3.8 -c src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c -o python_build/temp.macosx-13.0-arm64-cpython-38/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.o -stdlib=libc++ -fvisibility=hidden -fno-wrapv -fno-exceptions -DHAVE_UNISTD_H -pthread
  In file included from src/core/ext/filters/census/grpc_context.cc:25:
  In file included from ./src/core/lib/surface/call.h:33:
  In file included from ./src/core/lib/channel/channel_stack.h:65:
  In file included from ./src/core/lib/iomgr/call_combiner.h:30:
  In file included from ./src/core/lib/gprpp/mpscq.h:28:
  In file included from ./src/core/lib/gprpp/sync.h:25:
  In file included from third_party/abseil-cpp/absl/synchronization/mutex.h:72:
  In file included from third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h:34:
  In file included from third_party/abseil-cpp/absl/time/clock.h:26:
  third_party/abseil-cpp/absl/time/time.h:460:14: error: expected unqualified-id
      if (std::isnan(n))
               ^
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:165:5: note: expanded from macro 'isnan'
      ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
      ^
  In file included from src/core/ext/filters/census/grpc_context.cc:25:
  In file included from ./src/core/lib/surface/call.h:33:
  In file included from ./src/core/lib/channel/channel_stack.h:65:
  In file included from ./src/core/lib/iomgr/call_combiner.h:30:
  In file included from ./src/core/lib/gprpp/mpscq.h:28:
  In file included from ./src/core/lib/gprpp/sync.h:25:
  In file included from third_party/abseil-cpp/absl/synchronization/mutex.h:72:
  In file included from third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h:34:
  In file included from third_party/abseil-cpp/absl/time/clock.h:26:
  third_party/abseil-cpp/absl/time/time.h:461:19: error: expected unqualified-id
        return std::signbit(n) ? -InfiniteDuration() : InfiniteDuration();
                    ^
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:170:5: note: expanded from macro 'signbit'
      ( sizeof(x) == sizeof(float)  ? __inline_signbitf((float)(x))        \
      ^

我将pip称为: CFLAGS="-I /opt/homebrew/opt/openssl/include" LDFLAGS="-L /opt/homebrew/opt/openssl/lib" GRPC_PYTHON_BUILD_SYST EM_OPENSSL=1 GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 CC="clang -w" pip install grpcio==1.47.0

我已经尝试了很多变体,甚至将路径传递给brew安装的absl并阅读了我能找到的所有类似主题,但它对我没有帮助。

我该如何安装它?

使用通过 brew 安装的 Xcode 14.0.1 和 python 3.10.7 在 macOS 12.6 上与 grpcio-1.49.1 一起工作。

% pip3.10 install grpcio
Collecting grpcio
  Using cached grpcio-1.49.1.tar.gz (22.1 MB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: six>=1.5.2 in /opt/homebrew/lib/python3.10/site-packages (from grpcio) (1.16.0)
Building wheels for collected packages: grpcio
  Building wheel for grpcio (setup.py) ... done
  Created wheel for grpcio: filename=grpcio-1.49.1-cp310-cp310-macosx_12_0_arm64.whl size=3905282 sha256=9c7b992a8ced88d08a85c796444047c2241513804a0acb1ebb0fef95d0aac24d
  Stored in directory: /Users/risner/Library/Caches/pip/wheels/6a/27/27/9ff38950d1bdf9deb4e7320c369478c85191c6ef22f92f18ec
Successfully built grpcio
Installing collected packages: grpcio
Successfully installed grpcio-1.49.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM