想用graphviz画决策树,结果报错,python包已经安装,应该还有其他问题。
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
~/Library/Python/3.8/lib/python/site-packages/graphviz/backend.py in run(cmd, input, capture_output, check, encoding, quiet, **kwargs)
169 try:
--> 170 proc = subprocess.Popen(cmd, startupinfo=get_startupinfo(), **kwargs)
171 except OSError as e:
/Library/frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)
853
--> 854 self._execute_child(args, executable, preexec_fn, close_fds,
855 pass_fds, cwd, env,
/Library/frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
1701 err_msg = os.strerror(errno_num)
-> 1702 raise child_exception_type(errno_num, err_msg, err_filename)
1703 raise child_exception_type(err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'dot'
The above exception was the direct cause of the following exception:
ExecutableNotFound Traceback (most recent call last)
~/Library/Python/3.8/lib/python/site-packages/IPython/core/formatters.py in __call__(self, obj)
343 method = get_real_method(obj, self.print_method)
344 if method is not None:
--> 345 return method()
346 return None
347 else:
~/Library/Python/3.8/lib/python/site-packages/graphviz/files.py in _repr_svg_(self)
139
140 def _repr_svg_(self):
--> 141 return self.pipe(format='svg').decode(self._encoding)
142
143 def pipe(self, format=None, renderer=None, formatter=None, quiet=False):
~/Library/Python/3.8/lib/python/site-packages/graphviz/files.py in pipe(self, format, renderer, formatter, quiet)
164 data = self.source.encode(self._encoding)
165
--> 166 out = backend.pipe(self._engine, format, data,
167 renderer=renderer, formatter=formatter,
168 quiet=quiet)
~/Library/Python/3.8/lib/python/site-packages/graphviz/backend.py in pipe(engine, format, data, renderer, formatter, quiet)
266 """
267 cmd, _ = command(engine, format, None, renderer, formatter)
--> 268 out, _ = run(cmd, input=data, capture_output=True, check=True, quiet=quiet)
269 return out
270
~/Library/Python/3.8/lib/python/site-packages/graphviz/backend.py in run(cmd, input, capture_output, check, encoding, quiet, **kwargs)
171 except OSError as e:
172 if e.errno == errno.ENOENT:
--> 173 raise ExecutableNotFound(cmd) from e
174 else:
175 raise
ExecutableNotFound: failed to execute 'dot', make sure the Graphviz executables are on your systems' PATH
于是网上搜了下Mac下的安装步骤,半天都搞不行,各种错误,还卸载了xcode。
后来找到这个链接,换了brew的代理,还是不行
https://www.cnblogs.com/everlose/p/12724548.html
提示big_sur.bottle这个没有
又找到2个帖子
https://blog.csdn.net/ljl6158999/article/details/118144440
https://zhuanlan.zhihu.com/p/383707713
最后用了export HOMEBREW_BOTTLE_DOMAIN=’'这个,就好了



