gpt4 book ai didi

Mac OS Pycharm 上的 Python 给出框架错误 "import matplotlib.pyplot as plt"

转载 作者:行者123 更新时间:2023-12-01 01:55:53 25 4
gpt4 key购买 nike

这个问题与here类似。和 here但那里的解决方案都不起作用,可能是因为我使用的是不同的环境(Mac OS 上的 PyCharm)。

在2.7.15上运行PyCharm的虚拟环境中,安装了matplotlib,没有任何提示,并且有一个包含以下内容的一行PyCharm python文件...

import matplotlib.pyplot as plt

...运行这个单行文件时控制台输出以下错误:

/Users/jbs/PycharmProjects/WakeUp/env/bin/python /Users/jbs/PycharmProjects/WakeUp/InputSound/WakeInputSound-and-plot-it-trial3.py
Traceback (most recent call last):
File "/Users/jbs/PycharmProjects/WakeUp/InputSound/WakeInputSound-and-plot-it-trial3.py", line 2, in <module>
import matplotlib.pyplot as plt
File "/Users/jbs/PycharmProjects/WakeUp/env/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/Users/jbs/PycharmProjects/WakeUp/env/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 62, in pylab_setup
[backend_name], 0)
File "/Users/jbs/PycharmProjects/WakeUp/env/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py", line 17, in <module>
from matplotlib.backends import _macosx
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework.

任何解决此问题的帮助都将受到欢迎。我尝试了大约十几件事,但似乎都不起作用......

(单独导入 matplotlib 不会出现问题,这个问题可能与此 one 相关,但它显然不同......)

最佳答案

详情请参阅:what-is-a-backend 。您需要设置您的后端。有两种类型的后端:用户界面后端(用于 pygtk、wxpython、tkinter、qt4 或 macosx;也称为“交互式后端”)和用于制作图像文件(PNG、SVG、PDF、PS;也称为“非交互式后端”)。

有四种方法可以配置后端。如果它们相互冲突,将使用下面列表中最后提到的方法,例如调用 use() 将覆盖 matplotlibrc 中的设置。

  1. matplotlibrc 文件中的后端参数(请参阅自定义 matplotlib):

    backend : WXAgg   # use wxpython with antigrain (agg) rendering
  2. 为当前 shell 或单个脚本设置 MPLBACKEND 环境变量:

    > export MPLBACKEND="module://my_backend"
    > python simple_plot.py

    > MPLBACKEND="module://my_backend" python simple_plot.py

    设置此环境变量将覆盖任何 matplotlibrc 中的后端参数,即使当前工作目录中存在 matplotlibrc 也是如此。因此全局设置 MPLBACKEND,例如在您的 .bashrc 或 .profile 中,不鼓励这样做,因为它可能会导致违反直觉的行为。

  3. 要为单个脚本设置后端,您也可以使用 -d 命令行参数:

    > python script.py -dbackend

    此方法已被弃用,因为 -d 参数可能与解析命令行参数的脚本冲突(请参阅问题#1986)。您应该改用 MPLBACKEND。

  4. 如果您的脚本依赖于特定后端,您可以使用 use() 函数:

    import matplotlib
    matplotlib.use('PS') # generate postscript output by default

    如果您使用 use() 函数,则必须在导入 matplotlib.pyplot 之前完成此操作。导入 pyplot 后调用 use() 不会有任何效果。如果用户想要使用不同的后端,则使用 use() 需要更改代码。因此,除非绝对必要,否则应避免显式调用 use()。

注意:后端名称规范不区分大小写;例如,“GTKAgg”和“gtkagg”是等效的。

关于Mac OS Pycharm 上的 Python 给出框架错误 "import matplotlib.pyplot as plt",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50196561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com