【问题标题】:How do I load and run specific packages when I launch 'matplotlib'?启动“matplotlib”时如何加载和运行特定包?
【发布时间】:2013-11-25 19:33:37
【问题描述】:

我知道如何更改 matplotlib 的某些设置,以便在我每次启动时都使用它来配置它,包括当我以交互方式启动时

ipython --pylab

但我不确定每次以这种方式启动时如何运行任意代码,或者如何确保已导入某些包。例如,每当我按上述方式启动时,我都会执行以下操作:

from mpltools import style
style.use('ggplot')

当我启动“matplotlib”时如何加载和运行特定的包?

【问题讨论】:

  • 您是在问如何让ipython 自动执行此操作(易于设置),或者一般如何为任何库执行此操作? (不鼓励在一般意义上这样做。“显式优于隐式”最好使用mpltools 显式更改样式。)此外,matplotlib 的下一个版本将内置mpltools 样式表和(我认为?).matplotlibrc 中的一个选项。
  • 我主要是在问如何执行示例中的具体步骤:将样式设置为ipython --pylab的默认样式。

标签: python configuration matplotlib


【解决方案1】:

从 ipython website 看来,您可以将任何 .py 文件放在配置文件的 startup 文件夹中,它将在 ipython 启动时运行。如需帮助查找您的启动文件夹所在的配置文件 [请参阅此处]。

要获得您想要的效果,您需要检查 matplotlib 是否已导入,我能想到的唯一方法是添加以下内容

import sys

if "matplotlib" in sys.modules:
   # Do something 
   print
   print "This seems to be working"

我已将它留在测试中,因此您可以快速确定它是否有效。 有两点需要注意:我使用的是 ipython 2.0.0-dev(以防万一),其次我怀疑不建议调用sys.modules,或者至少这是我对SO 的印象帖子我借用了这个想法,也许有人比我能启发我们。

【讨论】:

  • 我可以避免检查,而不是提供--pylab,我能够将具有相同效果的代码放在像启动.py这样的东西中,我可以选择它作为@的命令行参数987654331@(例如ipython --profile='my_configured_pylab)。有没有办法做这样的事情?
  • 是的,in this link 它声称您只需将 ipy_profile_<name>.py 放在当前目录或 IPYTHONDIR 中,然后使用 --profile <name> 加载。我认为这可能是您所需要的。
  • 优秀。所以剩下的唯一问题是:这样的文件中的哪些代码行会产生--pylab 标志的效果?
  • from matplotlib.pylab import * 我会假设。这将拉入所有模块。如果缺少任何东西,只需找到它并添加它。
  • 这似乎不起作用:a separate question.
猜你喜欢
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
  • 2014-05-07
  • 2017-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-15
相关资源
最近更新 更多