代码之家  ›  专栏  ›  技术社区  ›  WDR

在我的代码中使用“%matplotlib inline”的“SyntaxError:无效语法”[重复]

  •  0
  • WDR  · 技术社区  · 5 年前

    我尝试在Spyder(Python 2.7.11)上运行以下代码:

    # -*- coding: utf-8 -*-
    
    import numpy as np
    import pandas as pd
    
    %matplotlib inline
    
    import matplotlib.pyplot as plt
    import matplotlib.cm as cm
    
    import tensorflow as tf
    
    # settings
    LEARNING_RATE = 1e-4
    # set to 20000 on local environment to get 0.99 accuracy
    TRAINING_ITERATIONS = 2000        
    
    DROPOUT = 0.5
    BATCH_SIZE = 50
    
    # set to 0 to train on all available data
    VALIDATION_SIZE = 2000
    
    # image number to output
    IMAGE_TO_DISPLAY = 10
    

    但我犯了一个错误:

    line 10
        %matplotlib inline
        ^
    SyntaxError: invalid syntax.
    

    如果有人给我解释,我将不胜感激。

    另外,代码来自Kaggle竞赛项目:数字识别器

    0 回复  |  直到 6 年前
        1
  •  75
  •   MB-F    6 年前

    Line Magic仅受IPython命令行支持。它们不能简单地在脚本中使用,因为 %something 不是正确的Python语法。

    如果要从脚本执行此操作,必须访问IPython API,然后调用 run_line_magic 作用

    而不是 %matplotlib inline ,您必须在脚本中执行以下操作:

    from IPython import get_ipython
    get_ipython().run_line_magic('matplotlib', 'inline')
    

    中描述了类似的方法 this answer ,但它使用了不推荐的 magic 作用

    请注意,脚本仍然需要在IPython中运行。 在香草蟒蛇下 get_ipython 函数返回 None get_ipython().run_line_magic 将提出 AttributeError .

        2
  •  16
  •   Abraham Sanchez    6 年前

    由于line Magic仅由IPython命令行支持,而不是由Python cl支持,因此请使用: 'exec(%matplotlib inline)' 而不是 %matplotlib inline

        3
  •  5
  •   Community skywinder    7 年前

    中的语法“%” %matplotlib inline 是由iPython(它被设置为处理神奇的方法)识别的,但不是Python本身,它给出了一个语法错误。 Here is given one solution.

        4
  •  4
  •   Erwan Swak    6 年前

    如果在脚本顶部包含以下代码, matplotlib 将在 IPython 环境(如jupyter、氢原子插件等),如果直接通过命令行启动脚本,它仍然可以工作( matplotlib 不会在线运行,图表将像往常一样在弹出窗口中打开)。

    from IPython import get_ipython
    ipy = get_ipython()
    if ipy is not None:
        ipy.run_line_magic('matplotlib', 'inline')
    
        5
  •  2
  •   GLaDOS    8 年前

    这不起作用的原因有几个。

    matplotlib可能未正确安装。 你试过跑步吗:

    conda install matplotlib
    

    如果这不起作用,请查看%PATH%环境变量,它是否包含库和python路径?

    Similar problem on github anaconda

        6
  •  0
  •   Lorenzo Castagno    5 年前

    这就是你使用Julia的情况:

    与Julia中IPython的%matplotlib类似的是使用PyPlot包,它为matplotlib提供了Julia接口,包括IJulia笔记本中的内联绘图。(默认情况下,Julia中已经加载了相当于numpy的内容。) 给定PyPlot,与%matplotlib inline类似的是使用PyPlot,因为PyPlot默认为IJulia中的内联图。

        7
  •  -1
  •   achuz jithin    6 年前

    它不是一个python脚本,而不是%matplotlib inline,因此我们可以这样编写它 从IPython导入获取 获取_-ipython()。运行_line_magic('matplotlib','inline')