【发布时间】:2018-07-01 20:18:06
【问题描述】:
我的目标是使用 pyinstaller 构建一个可执行文件。我正在尝试构建的 python 脚本导入 grpc。下面是一个说明 hello.py 问题的示例。
import grpc
if __name__ == '__main__':
print "hello world"
我做 pyinstaller hello.py 并产生预期的 dist 目录。然后我像./dist/hello/hello 一样运行它,我得到错误ImportError: No module named grpc.
然后我使用pip install grpc 安装了grpc。当我重建工件时,我现在收到错误Import grpc:No module named gevent.socket。
在线阅读表明要安装的正确项目实际上是 grpcio 和 grpcio-tools。所以我尝试了pip uninstall grpcpip install grpcio 和pip install grpcio-tools。这样做并重建工件给了我错误ImportError: No module named pkg_resources。尝试pip install pkg_resources 会出错:Could not find a version that satisfies the requirement pkg_resources
安装所有grpcio grpcio-tools 和grpc 会出现同样的错误:Import grpc:No module named gevent.socket
这似乎应该是一个非常简单的任务。我只是想用pyinstaller构建一个依赖grpc的神器,我该怎么做呢?
【问题讨论】:
-
你试过
pip install gevent吗? 没有名为 gevent.socket 的模块向我建议gevent未安装? -
是的,我确实尝试过。然后我得到错误
Import grpc:No module named coros。然后我尝试pip install coros,我得到错误Could not find a version that satisfies the requirement coro
标签: python pyinstaller grpc