Joh*_*ohn 43 python matplotlib ipython spyder
我尝试在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
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
line 10
%matplotlib inline
^
SyntaxError: invalid syntax.
Run Code Online (Sandbox Code Playgroud)
如果有人给我解释,我很感激.
PS代码来自Kaggle竞赛项目:Digit Recognizer
kaz*_*ase 56
线魔法只受IPython命令行支持.它们不能简单地在脚本中使用,因为%something它不是正确的Python语法.
如果要从脚本执行此操作,则必须访问IPython API,然后调用该run_line_magic函数.
而不是%matplotlib inline,你将不得不在你的脚本中做这样的事情:
from IPython import get_ipython
get_ipython().run_line_magic('matplotlib', 'inline')
Run Code Online (Sandbox Code Playgroud)
此答案中描述了类似的方法,但它使用了已弃用的magic函数.
请注意,该脚本仍需要在IPython中运行.在香草的Python的get_ipython函数返回None,并get_ipython().run_line_magic会引发AttributeError.
小智 5
如果您在脚本顶部包含以下代码,matplotlib则在IPython环境中(例如jupyter,hydrogen atom插件...)将以内联方式运行,并且如果您直接通过命令行启动脚本,它将仍然有效(matplotlib不会内联运行,图表将照常在弹出窗口中打开)。
from IPython import get_ipython
ipy = get_ipython()
if ipy is not None:
ipy.run_line_magic('matplotlib', 'inline')
Run Code Online (Sandbox Code Playgroud)
有几个原因可以解释为什么这行不通。
可能是 matplotlib 没有正确安装。你有没有尝试过运行:
conda install matplotlib
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请查看您的 %PATH% 环境变量,它是否包含您的库和 python 路径?
| 归档时间: |
|
| 查看次数: |
87863 次 |
| 最近记录: |