IPython演示模式
我正在尝试使用 IPython 演示 模式。我创建了一个名为 test.py
的文件,其中包含:
print 1
print 2
print 3
然后启动 IPython 并执行以下操作:
In [1]: from IPython.demo import LineDemo
In [2]: d = LineDemo('test.py')
In [3]: d()
********************* <test.py> block # 0 (5 remaining) *********************
p
********************************** output: **********************************
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/Users/tom/Library/Python/2.6/site-packages/ipython-0.10-py2.6.egg/IPython/demo.pyc in runlines(self, source)
400 """Execute a string with one or more lines of code"""
401
--> 402 exec source in self.user_ns
403
404 def __call__(self,index=None):
/Users/tom/tmp/<string> in <module>()
----> 1
2
3
4
5
NameError: name 'p' is not defined
可能是什么导致了此错误?我是否错误地使用了 LineDemo?
I'm trying to use the IPython demo mode. I created a file called test.py
containing:
print 1
print 2
print 3
and then launched IPython and did the following:
In [1]: from IPython.demo import LineDemo
In [2]: d = LineDemo('test.py')
In [3]: d()
********************* <test.py> block # 0 (5 remaining) *********************
p
********************************** output: **********************************
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/Users/tom/Library/Python/2.6/site-packages/ipython-0.10-py2.6.egg/IPython/demo.pyc in runlines(self, source)
400 """Execute a string with one or more lines of code"""
401
--> 402 exec source in self.user_ns
403
404 def __call__(self,index=None):
/Users/tom/tmp/<string> in <module>()
----> 1
2
3
4
5
NameError: name 'p' is not defined
What is likely to be causing this error? Am I using LineDemo incorrectly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
IPython 似乎有一个错误。在
LineDemo.reload
的 demo.py 中,显示以下内容的行:应该显示:
当前它正在尝试执行第一行中的所有字母,而不是文件中的所有行。
编辑:报告的错误。
There seems to be a bug in IPython. In demo.py in
LineDemo.reload
, the line that says:should say:
Currently it's trying to execute all the letters in the first line instead of all the lines in the file.
Edit: Bug reported.
在 IPython 0.9.1 中工作正常
你有哪个版本?
It works ok in IPython 0.9.1
Which version do you have?