web-dev-qa-db-ja.com

python macosxの下でmatplotlibフレームワーク?

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

/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フレームワークを使用しています。

58
Neil G

PythonをビルドしてMac OS Xにインストールする方法は2つあります。1つは従来のフラットなUnix-y共有ライブラリとして使用します。もう1つはframeworkインストールとして知られています。製品のすべてのコンポーネントディレクトリ(includelibbin)がメインフレームワークディレクトリの下にサブディレクトリとしてインストールされる、OS X上の他のフレームワークに類似したファイルレイアウトFinkプロジェクトは、Unix共有ライブラリ方式を使用してPythonをインストールしますが、OS XでAppleが提供するPythonを含む他のほとんどのディストリビュータ、python.orgインストーラー、およびMacPortsプロジェクトは、frameworkバージョンのPythonをインストールします。フレームワークインストールの利点の1つは、Pythonインタープリターがとしてパッケージ化されているため、ウィンドウマネージャー接続(通常はGUI関連のインターフェイス)を必要とするさまざまなOS X API呼び出しで適切に動作することです。フレームワーク内のアプリバンドル。

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

16
Ned Deily

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

import matplotlib
matplotlib.use('TkAgg')

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

62
Iron Pillow

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

29
Jonathan

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()
11
David M. Rogers

私のコンピューターでのPythonのAnacondaディストリビューションと、Python 3.4。

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

だから私はターミナルに戻り、Anaconda Python( "conda install matplotlib")に推奨されるcondaコマンドを使用しました。問題はそれ自体で解決しました(これはすべて、 http://conda.pydata.org/docs/using/envs.html )でcondaコマンドツールを使用して作成しました。私のシステムはMac OSX 10.10.5を実行しています。

10
Wendy Jan

Python 3.7.1 pyenv でインストールされた3.7.1でOSX 10.14を実行しています。

私のために働く他の答えにリストされている backends を取得できませんでした(TkAggWXAggmacosx)。

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

7
Derek Hill

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

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
5
after aver

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

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

from: https://matplotlib.org/faq/osx_framework.html

2
Max Power

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

したがって、python3を使用している場合は、virtualenvの代わりに venv を使用します。

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

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

2
Sachin

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

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

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

説明:Pythonは実際にはデフォルトでMacにフレームワークとしてインストールされますが、virtualenvを使用すると、上記のフレームワークディレクトリ(端末の「which python3」おそらくMatplotlibは、pythonフレームワークでbin/include/lib /、etcを見つける必要があります。

0
Alchanic Liu

公式のFAQ on OSXでMatplotlibを使用する方法を確認してください。 状況に応じていくつかの解決策があります。 :

  • ステップ1:ターミナルを開く
  • ステップ2:conda install python.app python.appをインストールする
  • ステップ3:pythonwを使用してpython scriptを実行します。例:pythonw my_script.py
0
Jonny Brooks