-
Notifications
You must be signed in to change notification settings - Fork 86
Description
TypeError Traceback (most recent call last)
Cell In[4], line 5
3 path = meb.get_path(r"ECMWF_HR/WIND/850/YYMMDDHH.TTT",time2,24)
4 print(path)
----> 5 grd = meb.io.read_gridwind_from_gds(path)
6 print(grd)
File s:\anaconda\envs\MeteoPy310\lib\site-packages\meteva\base\io\read_griddata.py:509, in read_gridwind_from_gds(filename, grid, level, time, dtime, data_name, dtime_units, outer_value, show)
505 def read_gridwind_from_gds(filename,grid = None,level = None,time = None,dtime = None,data_name = "data0",dtime_units = "hour",outer_value = None,show = False):
506 # ip 为字符串形式,示例 “10.20.30.40”
507 # port 为整数形式
508 # filename 为字符串形式 示例 "ECMWF_HR/TCDC/19083108.000"
--> 509 from . import DataBlock_pb2
510 if meteva.base.gds_ip_port is None:
511 print("请先使用set_config 配置gds的ip和port")
File s:\anaconda\envs\MeteoPy310\lib\site-packages\meteva\base\io\DataBlock_pb2.py:44
26 DESCRIPTOR = _descriptor.FileDescriptor(
27 name='DataBlock.proto',
28 package='',
29 syntax='proto3',
30 serialized_pb=_b('\n\x0f\x44\x61taBlock.proto"E\n\x0cStringResult\x12\x11\n\terrorCode\x18\x01 \x01(\x05\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t"M\n\x0f\x42yteArrayResult\x12\x11\n\terrorCode\x18\x01 \x01(\x05\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x11\n\tbyteArray\x18\x03 \x01(\x0c"h\n\x18StringAndByteArrayResult\x12\x11\n\terrorCode\x18\x01 \x01(\x05\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x10\n\x08\x64\x61taName\x18\x03 \x01(\t\x12\x11\n\tbyteArray\x18\x04 \x01(\x0c"[\n\x0e\x46ileInfoResult\x12\x11\n\terrorCode\x18\x01 \x01(\x05\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x0e\n\x06isFile\x18\x03 \x01(\x08\x12\x10\n\x08\x66ileSize\x18\x04 \x01(\x03"\x94\x01\n\tMapResult\x12\x11\n\terrorCode\x18\x01 \x01(\x05\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12,\n\tresultMap\x18\x03 \x03(\x0b\x32\x19.MapResult.ResultMapEntry\x1a\x30\n\x0eResultMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42)\n\x1c\x63n.gov.cma.cimiss.gds.serverB\tDataBlockb\x06proto3')
31 )
32 _sym_db.RegisterFileDescriptor(DESCRIPTOR)
37 _STRINGRESULT = _descriptor.Descriptor(
38 name='StringResult',
39 full_name='StringResult',
40 filename=None,
41 file=DESCRIPTOR,
42 containing_type=None,
43 fields=[
---> 44 _descriptor.FieldDescriptor(
45 name='errorCode', full_name='StringResult.errorCode', index=0,
46 number=1, type=5, cpp_type=1, label=1,
47 has_default_value=False, default_value=0,
48 message_type=None, enum_type=None, containing_type=None,
49 is_extension=False, extension_scope=None,
50 options=None),
51 _descriptor.FieldDescriptor(
52 name='errorMessage', full_name='StringResult.errorMessage', index=1,
53 number=2, type=9, cpp_type=9, label=1,
54 has_default_value=False, default_value=_b("").decode('utf-8'),
55 message_type=None, enum_type=None, containing_type=None,
56 is_extension=False, extension_scope=None,
57 options=None),
58 _descriptor.FieldDescriptor(
59 name='name', full_name='StringResult.name', index=2,
60 number=3, type=9, cpp_type=9, label=1,
61 has_default_value=False, default_value=_b("").decode('utf-8'),
62 message_type=None, enum_type=None, containing_type=None,
63 is_extension=False, extension_scope=None,
64 options=None),
65 ],
66 extensions=[
67 ],
68 nested_types=[],
69 enum_types=[
70 ],
71 options=None,
72 is_extendable=False,
73 syntax='proto3',
74 extension_ranges=[],
75 oneofs=[
76 ],
77 serialized_start=19,
78 serialized_end=88,
79 )
82 _BYTEARRAYRESULT = _descriptor.Descriptor(
83 name='ByteArrayResult',
84 full_name='ByteArrayResult',
(...)
123 serialized_end=167,
124 )
127 _STRINGANDBYTEARRAYRESULT = _descriptor.Descriptor(
128 name='StringAndByteArrayResult',
129 full_name='StringAndByteArrayResult',
(...)
175 serialized_end=273,
176 )
File s:\anaconda\envs\MeteoPy310\lib\site-packages\google\protobuf\descriptor.py:621, in FieldDescriptor.new(cls, name, full_name, index, number, type, cpp_type, label, default_value, message_type, enum_type, containing_type, is_extension, extension_scope, options, serialized_options, has_default_value, containing_oneof, json_name, file, create_key)
615 def new(cls, name, full_name, index, number, type, cpp_type, label,
616 default_value, message_type, enum_type, containing_type,
617 is_extension, extension_scope, options=None,
618 serialized_options=None,
619 has_default_value=True, containing_oneof=None, json_name=None,
620 file=None, create_key=None): # pylint: disable=redefined-builtin
--> 621 _message.Message._CheckCalledFromGeneratedFile()
622 if is_extension:
623 return _message.default_pool.FindExtensionByName(full_name)
TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
- Downgrade the protobuf package to 3.20.x or lower.
- Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates