web-dev-qa-db-ja.com

matplotlib:RuntimeError:Pythonはフレームワークとしてインストールされません

この質問は、以前に here で、また here で尋ねられました。しかし、この解決策では私の問題は解決しませんでした。

元のエラーは、import matplotlib.pyplotをしようとすると、

トレースバック(最後の最後の呼び出し):ファイル ""、行1、ファイル "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py"、行114、_backend_mod、new_figure_manager、 draw_if_interactive、_show = pylab_setup()ファイル "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/init。 py "、32行目、pylab_setup globals()、locals()、[backend_name]、0)ファイル" /Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py " 24行目、matplotlib.backendsからimport _macosx RuntimeError:Pythonはフレームワークとしてインストールされていません。 Pythonがフレームワークとしてインストールされていない場合、Mac OS Xバックエンドは正しく機能できません。 Mac OS XにフレームワークとしてPythonをインストールする方法の詳細については、Pythonのドキュメントを参照してください。フレームワークとしてPythonを再インストールするか、他のいずれかを試してくださいバックエンド。仮想環境でMatplotlibを使用している場合は、Matplotlib FAQの「仮想環境でMatplotlibを使用する」を参照してください。

ソリューションに従って、~/.matplotlib/matplotlibrcというコードを含むbackend: TkAggファイルを追加しました。その後、エラーは次のように変わりました。

/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/font_manager.py:273:UserWarning:Matplotlibはfc-listを使用してフォントキャッシュを構築しています。これには少し時間がかかる場合があります。 warnings.warn( 'Matplotlibはfc-listを使用してフォントキャッシュを構築しています。これには少し時間がかかる場合があります。)objc [25120]:クラスTKApplicationは/Users/XX/anaconda/lib/libtk8.5.dylibと/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk。 2つのうちの1つが使用されます。どちらが未定義です。 objc [25120]:クラスTKMenuは、/ Users/XX/anaconda/lib/libtk8.5.dylibと/System/Library/Frameworks/Tk.framework/Versions/8.5/Tkの両方に実装されています。 2つのうちの1つが使用されます。どちらが未定義です。 objc [25120]:クラスTKContentViewは、/ Users/XX/anaconda/lib/libtk8.5.dylibと/System/Library/Frameworks/Tk.framework/Versions/8.5/Tkの両方に実装されています。 2つのうちの1つが使用されます。どちらが未定義です。 objc [25120]:クラスTKWindowは、/ Users/XX/anaconda/lib/libtk8.5.dylibと/System/Library/Frameworks/Tk.framework/Versions/8.5/Tkの両方に実装されています。 2つのうちの1つが使用されます。どちらが未定義です。

私はそれを修正する方法がわかりません。仮想マシンを使用していません。私たちを手伝ってくれますか?ありがとうございました!

PS:私は以下を追加することでそれを見つけました:

matplotlibをインポートする
matplotlib.use( 'TkAgg')

import matplotlib.pyplotの前に、動作しているようです。しかし、これらの2行のコードを毎回追加するのは面倒です...ありがとうございました!

39
KDD

Virtualenvでスクリプトを実行します。 Pythonバージョンは3.5です。

行を追加します。

backend: TkAgg

ファイル内:

~/.matplotlib/matplotlibrc

これで問題は解決しました。

75
Joney

以下は私のために働いた:

import matplotlib  
matplotlib.use('TkAgg')   
import matplotlib.pyplot as plt  

参照: https://github.com/tensorflow/tensorflow/issues/2375

32
Sibish

Jupyter Notebookをvirtualenvにインストールしましたが、以下が動作しました:

コンソール:

echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc
pip install matplotlib==2.1.0

ノートブックで:

import matplotlib

カーネルの再起動:

dataframe.plot.hist()
...

私の意見では、それはエラーを修正します。

4
hakan

Virtualenvのpython 2.7で同じ問題が発生し、matplotlibをバージョン2.1.0に単純にダウングレードすることでそれらを修正できました。

私も同じエラーを抱えていました。私がしたことは、minicondaパッケージをインストールし、pythonwを使用することです。 Pythonアプリは既にMacにインストールされています。インストールはEggを壊すのと同じくらい簡単です。ターミナルで.shファイルをbashするだけです。

0
Abin Jo Abraham