acm-sdk-python icon indicating copy to clipboard operation
acm-sdk-python copied to clipboard

不设置环境变量DIAMOND_SERVER_IPS导致异常exception 'NoneType' object has no attribute 'split' occur

Open longtails opened this issue 1 year ago • 2 comments

ERROR:root:[get-config] exception 'NoneType' object has no attribute 'split' occur Traceback (most recent call last): File "/Users/alsc/work/.pyodps/lib/python3.9/site-packages/acm/client.py", line 439, in get_raw resp = self._do_sync_req("/diamond-server/config.co", None, params, None, timeout or self.default_timeout) File "/Users/alsc/work/.pyodps/lib/python3.9/site-packages/acm/client.py", line 663, in _do_sync_req server_info = self.get_server() File "/Users/alsc/work/.pyodps/lib/python3.9/site-packages/acm/client.py", line 284, in get_server server_list = get_server_list(self.endpoint, 443 if self.tls_enabled else 8080, self.cai_enabled, File "/Users/alsc/work/.pyodps/lib/python3.9/site-packages/acm/server.py", line 43, in get_server_list for server_addr in server_addresses.split(","): AttributeError: 'NoneType' object has no attribute 'split'

有些环境下,不需要设置DIAMOND_SERVER_IPS,但目前版本,必须设置,否则会抛异常中断后续流程,获取不到data;

建议加个server_addresses的NoneType判断,再进行server_addresses.split(",")

def get_server_list(endpoint, default_port=8080, cai_enabled=True, unit_name=None): server_list = list()

import os
server_addresses = os.getenv('DIAMOND_SERVER_IPS')
for server_addr in server_addresses.split(","):
    if server_addr is not "" and parse_nacos_server_addr(server_addr):
        server_list.append(parse_nacos_server_addr(server_addr.strip()))
if len(server_list) > 0:
    return server_list

longtails avatar Aug 23 '23 07:08 longtails

same problem to me.

skysbird avatar Dec 18 '23 10:12 skysbird

直接从源码安装,不要从pip安装,源码里面已经没有bug代码

skysbird avatar Dec 18 '23 10:12 skysbird