【问题标题】:NameError: name 'get_ipython' is not definedNameError:名称'get_ipython'未定义
【发布时间】:2015-09-12 12:25:27
【问题描述】:

我正在开发 Caffe 框架并使用 PyCaffe 接口。我正在使用通过转换 IPython Notebook 00-classification.ipynb 获得的 Python 脚本来测试 ImageNet 训练模型的分类。但是脚本中的任何 get_ipython() 语句都会出现以下错误:

$ python python/my_test_imagenet.py 
Traceback (most recent call last):
  File "python/my_test_imagenet.py", line 23, in <module>
    get_ipython().magic(u'matplotlib inline')

在脚本中,我正在导入以下内容:

import numpy as np
import matplotlib.pyplot as plt

get_ipython().magic(u'matplotlib inline')

# Make sure that caffe is on the python path:
caffe_root = '/path/to/caffe/'
import sys
sys.path.insert(0, caffe_root + 'python')

import caffe

plt.rcParams['figure.figsize'] = (10, 10)
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'

import os

# ... Rest of the code...

有人可以帮我解决这个错误吗?

【问题讨论】:

  • 你在哪里导入的?
  • 我已经在我尝试使用'get_ipython()'语句的python脚本中导入了这个。
  • 就我而言,我部署在 Azure 上托管的 Flask 应用程序上,不需要 ipython。我评论了。

标签: python ipython caffe pycaffe


【解决方案1】:

你必须用 ipython 运行你的脚本:

$ ipython python/my_test_imagenet.py

那么get_ipython 将已经在全局上下文中。

注意:在普通 shell python 中通过 from IPython import get_ipython 导入它不会起作用,因为您确实需要运行 ipython

【讨论】:

  • 我尝试了上述方法,但它给出了以下错误:“UsageError: Invalid GUI request u'inline', 有效的是:pyglet, osx, qt5, qt, glut, gtk, gtk3, tk, wx"。
  • @AdarshChauhan 使用“matplotlib auto”而不是“matplotlib inline”。
  • @beezz 如果我的 scipt 是由 ipython 而不是 python 启动的,我如何测试(在脚本内)?
  • @SebMa 你可以在由get_ipython不存在引起的普通python中捕获NameError
  • 这是来自jupyter nbconvert 的输出... 为什么它会创建一个无法运行的文件?似乎违背了该命令的目的。此外,如果它真的打算用ipython 运行,为什么输出以#!/bin/env python 开头?
【解决方案2】:

如果您打算运行转换后的 .py 文件笔记本,那么您只需注释掉 get_ipython() 语句。 matlibplot 输出无法在控制台中显示,因此您需要做一些工作。理想情况下,iPython 不应该生成这些语句。您可以使用以下方式显示图:

plt.show(block=True)

【讨论】:

    【解决方案3】:

    get_ipython 仅在导入 IPython 模块时可用,如果您运行 ipython shell(或 Jupyter notebook),则会隐式发生这种情况。

    如果没有,导入将失败,但您仍然可以使用以下命令显式导入:

    from IPython import get_ipython
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 2021-04-15
      • 2019-01-26
      • 2021-10-05
      • 2017-08-16
      • 2019-08-18
      相关资源
      最近更新 更多