62

このエラーが発生します:

/sw/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py:235:UserWarning:Pythonがフレームワークとしてインストールされていません。Pythonがフレームワークとしてインストールされていない場合、MacOSXバックエンドが正しく機能しない可能性があります。Mac OS XにフレームワークとしてPythonをインストールする方法の詳細については、Pythonのドキュメントを参照してください。

finkを使用してpython27をインストールしましたが、デフォルトのmatplotlibはmacosxフレームワークを使用しています。

4

11 に答える 11

65

一部のユーザーは、すべてのスクリプトのバックエンドを変更したくない場合があります。このページ(http://matplotlib.org/faq/usage_faq.html#what-is-a-backend)は、別の方法を示しています。

import matplotlib
matplotlib.use('TkAgg')

matplotlibに依存するのサブパッケージまたはサードパーティパッケージをインポートする前に、これを行う必要がありますmatplotlib

于 2016-01-04T02:32:17.010 に答える
31

Aggオプションで、追加のインストールを必要としないバックエンドを使用できます。入れるbackend : Aggだけ~/.matplotlib/matplotlibrc

于 2015-11-23T14:45:15.813 に答える
18

Pythonを構築してMacOSXにインストールする方法は2つあります。1つは、従来のフラットなUnix-y共有ライブラリです。frameworkもう1つはインストールと呼ばれ、 OS Xの他のフレームワークと同様のファイルレイアウトであり、製品のすべてのコンポーネントディレクトリ( include、、)がメインフレームワークディレクトリの下にサブディレクトリとしてインストールされます。プロジェクトは、Unix共有ライブラリメソッドを使用してPythonをインストールします。OS XでAppleが提供するPython、インストーラー、プロジェクトなど、他のほとんどのディストリビューターは、libbinFinkpython.orgMacPortsframeworkPythonのバージョン。フレームワークインストールの利点の1つは、Pythonインタープリターがフレームワーク内のアプリバンドルとしてパッケージ化されているため、ウィンドウマネージャー接続(通常はGUI関連のインターフェイス)を必要とするさまざまなOSXAPI呼び出しで適切に機能することです。

GUI関数を必要とするmatplotlibの関数が必要な場合、最も簡単なアプローチは、matplotlib(port py27-matplotlib)とその依存関係もパッケージ化するMacPortsに切り替えることです。Finkその場合、との間でパッケージを混在させないように注意してMacPortsください。あなたが本当に注意しない限り、どちらか一方に固執するのが最善です。それに応じてシェルパスを調整します。すべてのFinkパッケージを削除し、MacPortsバージョンをインストールするのが最も安全です。

于 2010-11-09T08:32:04.973 に答える
12

これは、OSX 10.10(Yosemite)に切り替えるときに表示されます。WXAggバックエンドに切り替えることで修正しました。

fink install wxpython300-py27
mkdir ~/.matplotlib
echo "backend : WXAgg" >>~/.matplotlib/matplotlibrc

http://matplotlib.org/1.3.0/faq/usage_faq.html#what-is-a-backend

matplotlibrcファイルがそこに見つからない場合は、matplotlibrcを配置し、次のコマンドで場所を確認します。

import matplotlib as mpl
mpl.get_configdir()
于 2015-08-08T04:31:19.480 に答える
10

この問題は、コンピューター上のPythonのAnacondaディストリビューションと、Python3.4を使用した仮想conda環境を使用して発生しました。

「pipinstallmatplotlib」を実行した後、コードにmatplotlitを正常にインポートできましたが、画像をプロットしようとするとエラーが発生しました。

そこで、ターミナルに戻り、Anaconda Pythonに推奨されるcondaコマンド( "conda install matplotlib")を使用すると、問題は自動的に解決しました(これは、 httpでcondaコマンドツールを使用して作成した環境内にあることに注意してください)。://conda.pydata.org/docs/using/envs.html)。私のシステムはMacOSX10.10.5を実行しています。

于 2016-04-05T22:29:40.980 に答える
9

pyenvをインストールしたPython3.7.1でOSX10.14を実行しています。

他の回答にリストされているバックエンドを使用できませんでした(TkAgg、、)。WXAggmacosx

代わりに機能したのは、新しいQt5Aggバックエンドであり、でインストールされ、 (他の回答ごとに)を含むファイルをpip install pyqt5作成します。~/.matplotlib/matplotlibrcbackend: Qt5Agg

于 2018-12-19T13:31:35.857 に答える
7

次のコードシーケンスでライブラリをインポートすると、うまくいきます。これにより、新しいフォルダを作成する必要はありません。

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
于 2018-09-04T09:58:14.127 に答える
2

追加"backend: TkAgg"~/.matplotlib/matplotlibrcた後でも同じ問題に直面している場合は、仮想環境に問題がある可能性があります。

したがって、python3を使用している場合は、virtualenvの代わりにvenvを使用してください

python3でvenvを使用するには、を使用python -m venv my-virtualenvして仮想環境を作成し、を使用source my-virtualenv/bin/activateしてvirtualenvをアクティブ化します。

残りはvirtualenvと同じです。それ以外 の場合はPYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install x.x.x、virtualenvを仮想環境として使用する場合に使用します。

于 2018-02-19T16:02:47.910 に答える
2

一般的に、私は使用しています

import matplotlib
matplotlib.use('Agg')

これを解決するために。しかし最近、コードベースでテストを実行するとこのフレームワークエラーが発生しましたが、変更を加えるのはごく限られたものにすぎません。その場合、仮想環境のセットアップ方法に関するmatplotlibのOSXドキュメントのアドバイスに従うと、次のようになります。

If you are on Python 3, use venv instead of virtualenv:

python -m venv my-virtualenv
source my-virtualenv/bin/activate

から:https ://matplotlib.org/faq/osx_framework.html

于 2018-03-19T18:08:58.903 に答える
1

OSXでのMatplotlibの操作に関する公式FAQを確認してください。それはあなたの状況に応じていくつかの解決策を持っています。私のために働いたのは:

  • ステップ1:ターミナルを開く
  • ステップ2:実行conda install python.appしてpython.appをインストールします
  • pythonwステップ3:例を使用してPythonスクリプトを実行するpythonw my_script.py
于 2017-11-06T15:10:24.407 に答える
0

〜/ .bash_profileでpythonを起動するために新しいコマンドをエイリアスするだけで、うまくいきます。

エイリアスvpython3=/Library/Frameworks/Python.framework/Versions/3.6(独自のpythonバージョンに置き換えます)/ bin / python3

次に、「source〜/ .bash_profile」を実行し、vpython3を使用してpython3を起動します。

説明:Pythonは実際にはデフォルトでフレームワークとしてMacにインストールされますが、virtualenvを使用すると、上記のフレームワークディレクトリ(ターミナルの「whichpython3」)ではなく、作成された仮想環境でpython3コマンドがリンクされます。おそらく、MatplotlibはPythonフレームワークでbin / include /lib/などを見つける必要があります。

于 2018-12-07T02:56:03.610 に答える