pyinstaller没有名为grpc的模块

And*_*son 8 python pyinstaller grpc

我的目标是使用pyinstaller构建可执行文件.我正在尝试构建的python脚本导入grpc.以下是一个示例,说明了名为hello.py的问题.

  import grpc
  if __name__ == '__main__':
     print "hello world"
Run Code Online (Sandbox Code Playgroud)

我这样做pyinstaller hello.py会产生预期的dist目录.然后我运行它./dist/hello/hello,我得到错误ImportError: No module named grpc.

那么我安装了grpc pip install grpc.当我重建工件时,我现在得到错误Import grpc:No module named gevent.socket.

在线阅读表明,正确安装的项目实际上是grpcio和grpcio-tools.于是,我就pip uninstall grpc pip install grpciopip install grpcio-tools.这样做并重建工件给了我错误ImportError: No module named pkg_resources.试图pip install pkg_resources给出错误:Could not find a version that satisfies the requirement pkg_resources

拥有all grpcio grpcio-toolsgrpcinstall会产生相同的错误:Import grpc:No module named gevent.socket

这似乎应该是一个非常简单的任务.我只是想使用pyinstaller来构建一个依赖于grpc的工件,我该怎么做?

Shr*_*ukh 11

我遇到了同样的问题.我提到了这个文件:gRPC

根据文档,首先将您的点数升级到版本9或更高版本.

然后使用以下命令:

$ python -m pip install grpcio
$ python -m pip install grpcio-tools
Run Code Online (Sandbox Code Playgroud)

它对我有用!


Dom*_*mra 5

我正在努力使用 grpc 制作 python 应用程序的 PyInstaller/cx_freeze 分发版。

您可以尝试添加--hidden-import=pkg_resources并看看会发生什么吗?

这为我解决了这个问题