Syft(PySyft):ModuleNotFoundError“Syft_proto.messaging.v1.protocol_pb2”

2024-05-12 22:28:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在GoogleColab上运行这个简单的代码

###cell 1 : `!pip install syft` 
###cell 2 : `import syft as sy` 

我得到了这个错误:

ModuleNotFoundError: No module named 'syft_proto.messaging.v1.protocol_pb2'

有完整的错误消息

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-3-9aeadc8ee442> in <module>()
----> 1 import syft as sy

7 frames
/usr/local/lib/python3.6/dist-packages/syft/__init__.py in <module>()
     41 
     42 # Import grids
---> 43 from syft.grid.private_grid import PrivateGridNetwork
     44 from syft.grid.public_grid import PublicGridNetwork
     45 

/usr/local/lib/python3.6/dist-packages/syft/grid/private_grid.py in <module>()
      9 # Syft imports
     10 from syft.grid.abstract_grid import AbstractGrid
---> 11 from syft.workers.node_client import NodeClient
     12 from syft.messaging.plan.plan import Plan
     13 from syft.frameworks.torch.tensors.interpreters.additive_shared import AdditiveSharingTensor

/usr/local/lib/python3.6/dist-packages/syft/workers/node_client.py in <module>()
      5 
      6 # Syft imports
----> 7 from syft.serde import serialize
      8 from syft.messaging.plan import Plan
      9 from syft.codes import REQUEST_MSG, RESPONSE_MSG

/usr/local/lib/python3.6/dist-packages/syft/serde/__init__.py in <module>()
----> 1 from syft.serde.serde import *

/usr/local/lib/python3.6/dist-packages/syft/serde/serde.py in <module>()
     10 from syft.workers.abstract import AbstractWorker
     11 
---> 12 from syft.serde import msgpack
     13 
     14 ## SECTION:  High Level Public Functions (these are the ones you use)

/usr/local/lib/python3.6/dist-packages/syft/serde/msgpack/__init__.py in <module>()
----> 1 from syft.serde.msgpack import serde
      2 from syft.serde.msgpack import native_serde
      3 from syft.serde.msgpack import torch_serde
      4 from syft.serde.msgpack import proto
      5 

/usr/local/lib/python3.6/dist-packages/syft/serde/msgpack/serde.py in <module>()
     57 from syft.messaging.plan import Plan
     58 from syft.messaging.plan.state import State
---> 59 from syft.messaging.protocol import Protocol
     60 from syft.messaging.message import Message
     61 from syft.messaging.message import Operation

/usr/local/lib/python3.6/dist-packages/syft/messaging/protocol.py in <module>()
     11 from syft.workers.abstract import AbstractWorker
     12 from syft.workers.base import BaseWorker
---> 13 from syft_proto.messaging.v1.protocol_pb2 import Protocol as ProtocolPB
     14 
     15 

ModuleNotFoundError: No module named 'syft_proto.messaging.v1.protocol_pb2'

希望你能帮助我。多谢各位


Tags: infrompyimportlibpackagesusrlocal
3条回答

看起来您尝试使用的模块已弃用或具有新版本。请参阅here该文件未处于活动状态

请尝试搜索是否存在此协议的较新版本或任何可满足您需要的类似协议

编辑:

也可能是您正在使用较旧的版本Syft,因此我建议您升级pipSyft。按照说明here

谢谢你的回答。当我降级这两个包时,它可以工作,这是pysyft开发人员的一个临时问题

!pip install syft=="0.2.2a1"
!pip install syft_proto=="0.1.1a1.post17"

您可以将两者升级到保持兼容的最新版本

!pip install  upgrade syft
!pip install  upgrade syft_proto

相关问题 更多 >