Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ipython 在jupyter笔记本上运行gvmagic扩展返回FileNotFounError_Ipython_Anaconda_Jupyter Notebook_Python 3.5_Ipython Magic - Fatal编程技术网

Ipython 在jupyter笔记本上运行gvmagic扩展返回FileNotFounError

Ipython 在jupyter笔记本上运行gvmagic扩展返回FileNotFounError,ipython,anaconda,jupyter-notebook,python-3.5,ipython-magic,Ipython,Anaconda,Jupyter Notebook,Python 3.5,Ipython Magic,我正在Windows 10机器上使用Anaconda 2.5.0(64位)中的jupyter笔记本开发Python 3.5.3。我正在尝试使用一个名为“gvmagic”的扩展,它用于查看图形。扩展似乎已加载,但返回的是FileNotFoundError而不是图形 我的输入代码是(注意:“visualize_de_bruijn_graph”是一个自定义代码,用于从字符串构建de bruijn graph): 其中返回图形: digraph "DeBruijn Graph" { CG [label

我正在Windows 10机器上使用Anaconda 2.5.0(64位)中的jupyter笔记本开发Python 3.5.3。我正在尝试使用一个名为“gvmagic”的扩展,它用于查看图形。扩展似乎已加载,但返回的是FileNotFoundError而不是图形

我的输入代码是(注意:“visualize_de_bruijn_graph”是一个自定义代码,用于从字符串构建de bruijn graph):

其中返回图形:

digraph "DeBruijn Graph" {
 CG [label="CG"] ;
 TC [label="TC"] ;
 GC [label="GC"] ;
 AC [label="AC"] ;
 GT [label="GT"] ;
 AC -> CG ;
 CG -> GC ;
 GC -> CG ;
 CG -> GT ;
 GT -> TC ;
 TC -> CG ;
}
尝试使用以下代码可视化图形:

%load_ext gvmagic
%dotstr dbg
返回下面的错误。我无法找出丢失了什么文件,因为引用的所有文件都是它们应该位于的位置

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-17-d138faf6c47c> in <module>()
----> 1 get_ipython().magic('dotstr dbg')

C:\Users\username\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py in magic(self, arg_s)
   2161         magic_name, _, magic_arg_s = arg_s.partition(' ')
   2162         magic_name = magic_name.lstrip(prefilter.ESC_MAGIC)
-> 2163         return self.run_line_magic(magic_name, magic_arg_s)
   2164 
   2165     #-------------------------------------------------------------------------

C:\Users\username\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py in run_line_magic(self, magic_name, line)
   2082                 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
   2083             with self.builtin_trap:
-> 2084                 result = fn(*args,**kwargs)
   2085             return result
   2086 

<decorator-gen-126> in dotstr(self, line)

C:\Users\username\Anaconda3\lib\site-packages\IPython\core\magic.py in <lambda>(f, *a, **k)
    191     # but it's overkill for just that one bit of state.
    192     def magic_deco(arg):
--> 193         call = lambda f, *a, **k: f(*a, **k)
    194 
    195         if callable(arg):

C:\Users\username\Anaconda3\lib\site-packages\IPython\extensions\gvmagic.py in dotstr(self, line)
     50     @line_magic
     51     def dotstr(self, line):
---> 52         self._from_str(line, 'dot')
     53 
     54     @line_magic

C:\Users\username\Anaconda3\lib\site-packages\IPython\extensions\gvmagic.py in _from_str(self, line, layout_engine)
    151     def _from_str(self, line, layout_engine):
    152         s = self.shell.ev(line)
--> 153         data = run_graphviz(s, layout_engine)
    154         if data:
    155             display_svg(data, raw=True)

C:\Users\username\Anaconda3\lib\site-packages\IPython\extensions\gvmagic.py in run_graphviz(s, layout_engine)
     30     cmd = ['dot', '-Tsvg', '-K', layout_engine]
     31 
---> 32     dot = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
     33     stdoutdata, stderrdata = dot.communicate(s.encode('utf-8'))
     34     status = dot.wait()

C:\Users\username\Anaconda3\lib\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)
    674                                 c2pread, c2pwrite,
    675                                 errread, errwrite,
--> 676                                 restore_signals, start_new_session)
    677         except:
    678             # Cleanup if the child failed starting.

C:\Users\username\Anaconda3\lib\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, unused_restore_signals, unused_start_new_session)
    953                                          env,
    954                                          cwd,
--> 955                                          startupinfo)
    956             finally:
    957                 # Child is launched. Close the parent's copy of those pipe

FileNotFoundError: [WinError 2] The system cannot find the file specified
FileNotFoundError回溯(最近一次调用)
在()
---->1 get_ipython().magic('dotstr dbg')
C:\Users\username\Anaconda3\lib\site packages\IPython\core\interactiveshell.py(self,arg\s)
2161 magic_名称,magic_arg_s=arg_s.分区(“”)
2162 magic_name=magic_name.lstrip(prefilter.ESC_magic)
->2163返回自我。运行幻术(幻术名称,幻术参数)
2164
2165     #-------------------------------------------------------------------------
C:\Users\username\Anaconda3\lib\site packages\IPython\core\interactiveshell.py in run\u line\u magic(self,magic\u name,line)
2082 kwargs['local\u ns']=sys.\u getframe(堆栈深度).f\u locals
2083带自建存水弯:
->2084结果=fn(*args,**kwargs)
2085返回结果
2086
在dotstr中(self,line)
C:\Users\username\Anaconda3\lib\site packages\IPython\core\magic.py in(f,*a,**k)
191#但这一点对国家来说太过分了。
192 def魔术装饰(arg):
-->193调用=λf,*a,**k:f(*a,**k)
194
195如果可调用(arg):
dotstr中的C:\Users\username\Anaconda3\lib\site packages\IPython\extensions\gvmagic.py(self,line)
50@line_magic
51 def dotstr(自身,行):
--->52自我。从第二行开始(点行)
53
54@line_magic
C:\Users\username\Anaconda3\lib\site packages\IPython\extensions\gvmagic.py in\u from\u str(self、line、layout\u引擎)
151 def_来自_str(自身、线路、布局引擎):
152 s=自外壳电动汽车(线路)
-->153数据=运行图(s、布局图、发动机)
154如果数据:
155显示svg(数据,原始=真)
C:\Users\username\Anaconda3\lib\site packages\IPython\extensions\gvmagic.py在run\u graphviz(s,layout\u引擎)中
30 cmd=['dot','-Tsvg','-K',布局引擎]
31
--->32点=Popen(cmd,stdin=PIPE,stdout=PIPE,stderr=PIPE)
33 stdoutdata,stderdata=点通信(s.encode('utf-8'))
34状态=点等待()
C:\Users\username\Anaconda3\lib\subprocess.py in_uuuuuinit_uuuuuuuu(self、args、bufsize、execute、stdin、stdout、stderr、preexec_fn、close_fds、shell、cwd、env、universal_新行、startupinfo、creationflags、restore_信号、start_new_session、pass_fds)
674 c2pread,c2pwrite,
675错误读取,错误写入,
-->676恢复信号,启动新会话)
677除:
678#如果孩子启动失败,则进行清理。
C:\Users\username\Anaconda3\lib\subprocess.py in_execute_child(self、args、execute、preexec_fn、close_fds、pass_fds、cwd、env、startupinfo、creationflags、shell、p2cread、p2cwrite、c2pwrite、errread、errwrite、未使用的恢复信号、未使用的启动新会话)
953环境,
954化学武器,
-->955(创业资讯)
956最后:
957#儿童启动。关闭这些管道的父级副本
FileNotFoundError:[WinError 2]系统找不到指定的文件

您必须在电脑上安装Graphviz软件。例如,对于Windows,请下载此软件

在IPython会话中,您必须指向安装位置,例如:

import os

os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin'

%load_ext gvmagic

dbg = visualize_de_bruijn('ACGCGTCG', 3)

%dotstr dbg

现在它应该对你有用,就像对我一样!您可能可以在PC上设置PATH变量,而不必每次都在IPython内部进行设置。

是否安装了
dot
?我恐怕不知道。你知道我怎么检查这个吗?
dot
是包还是包中的函数或类?软件包应该位于IPython目录中的什么位置(例如
C:\Users\username\Anaconda3\Lib\site packages\IPython
)?注意:我最初使用命令
conda install graphvis
安装了
graphvis
。我试图使用
conda install
安装
gvmagic
,但在当前win-64频道中缺少错误
包。因此,我使用命令
pip install-t'C:\Users\username\Anaconda3\Lib\site packages\IPython\extensions'gvmagic安装了
gvmagic
,首先,
graphviz
z
拼写,而不是
s
。第二,可从以下网址获得。第三,
dot
是与Graphviz一起分发的可执行文件之一,而不是Python包(尽管令人困惑的是,有一个同名的Python包提供了与真正的Graphviz语言的接口)。您应该能够在常规命令提示符(不是Python)下键入
dot
,并获得输出。很好地找到了我在编写
graphvis
而不是
graphviz
时两次输入的字体。
import os

os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin'

%load_ext gvmagic

dbg = visualize_de_bruijn('ACGCGTCG', 3)

%dotstr dbg