安装在Conda环境中的MXNet调用graphviz

为了防止环境冲突,我的MXNet-gpu 1.2.1版本是通过Anaconda安装在单独的环境中的
在使用时一切正常,但是在调用graphviz作图时却出现了问题

首先介绍下我在conda环境中是如何安装的mxnet和graphviz
(MXNet)$ conda install mxnet-gpu
通过上述指令,自动安装了1.2.1版本的mxnet-gpu,并且自动将所需的cuda9.0和cudnn7.1.2安装完成
然后我通过conda指令安装graphviz
(MXNet)$ conda install graphviz
安装的graphviz版本是2.4版本

在Python编程通过下面代码调用graphviz作图时
mx.viz.plot_network
出现了错误,提示
安装在Conda环境中的MXNet调用graphviz_第1张图片
意思是缺乏graphviz库

通过测试如下代码

import graphviz

提示module不存在,这说明graphviz并没有安装好,所以mxnet当然无法调用
查阅相关资料后发现,原来安装的graphviz版本过高,而conda库中只有2.4版本
于是使用如下命令
(MXNet)$ pip install graphviz==0.8.1
特别注明0.8.1版本是因为mxnet-gpu-1.2.1只能兼容0.8.1~0.9.0版本(不包括0.9.0)的graphviz

安装完成,运行原程序后发现,原来的错误消失,但是出现了新的错误
安装在Conda环境中的MXNet调用graphviz_第2张图片
原来是环境变量中配置不对
输入
$ sudo apt-get install graphviz
安装完成,运行源程序,绘图成功
安装在Conda环境中的MXNet调用graphviz_第3张图片

环境变量是基于系统底层的,配置在环境变量中的内容对所有conda创建的环境都可以调用,所以在MXNet环境下可以调用(特别提示:由于mxnet是安装在了独立的环境中,所以只配置系统变量依然无法检测到graphviz包,所以在mxnet环境中安装graphviz也是必须的)

你可能感兴趣的:(安装在Conda环境中的MXNet调用graphviz)